我有一些这样的型号:
class Category(models.Model):
class Meta:
ordering = ['name']
name = models.CharField(max_length=100)
text = models.TextField(blank=True)
def __str__(self):
return self.name
class Tag(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Tool(models.Model):
name = models.CharField(max_length=30, null=True, default='')
url = models.URLField(max_length=250, null=True, default='')
image_url = models.URLField(max_length=250, null=True, default='', blank=True)
about = models.TextField(default='', null=True, blank=True)
tags = models.ManyToManyField( Tag, related_name="tools" , blank=True)
category = models.ForeignKey(Category, on_delete=models.CASCADE, blank=True,null=True, related_name="category1")
altcategory = models.ForeignKey(Category, on_delete=models.CASCADE, blank=True,null=True, related_name="category2")
除了在管理屏幕中为工具添加标签外,一切似乎都正常。 我可以创建工具和标记,但当我在管理屏幕的标记列表中选择标记并保存时,我得到:
The above exception (syntax error at or near "ON" LINE 1: ...ls_tool_tags" ("tool_id", "tag_id") VALUES (1, 2) ON CONFLIC... ^ ) was the direct cause of the following exception:
使用sql:
('INSERT INTO "tools_tool_tags" ("tool_id", "tag_id") VALUES (%s, %s) ON '
'CONFLICT DO NOTHING')
调试屏幕显示错误在“tag_id”,这很奇怪
我希望这不是一个版本的东西,因为我用的是Heroku,并且对所有的东西都“正常工作”印象深刻。我的Django版本是'3.0.4'和Postgres 12.2
我认为很多作品都不是现成的。 所以我必须创建一个“贯穿”模型。。。并将管理表单更改为此
models.py
。。。和admin.py到这个
界面是不同的,不像权限小部件,但OK。。。至少不要轰炸管理员
相关问题 更多 >
编程相关推荐