任何人都可以在以下情况下为我提供帮助吗?
我有3张桌子,例如波纹管。 1&2是我的数据表。
和3保持与1&2的关系。
1.Qa table
-------------
|ID | QA |
-------------
|1 |qa1 |
|2 |qa2 |
|3 |qa3 |
-------------
a field of my Qa model
tags = select2.fields.ManyToManyField(Tag, blank=True, verbose_name='Tag')
2.Tag table
-------------
|ID | Tag |
-------------
|1 |tag1 |
|2 |tag2 |
|3 |tag3 |
-------------
3.qa tag relation
---------------------
|ID |QA_ID |Tag_ID |
---------------------
|1 |1 |2 |
|2 |1 |3 |
|3 |2 |1 |
|4 |3 |1 |
|5 |3 |2 |
|6 |3 |3 |
---------------------
编辑
质量模型
class Qa(models.Model):
question_text = models.CharField(max_length=1000, verbose_name='Question')
tags = select2.fields.ManyToManyField(Tag, blank=True, verbose_name='Tag')
"""
And some more fields.
"""
def __str__(self):
return self.question_text
class Meta:
ordering = ("id",)
verbose_name = 'QA data'
标签模型
class Tag(models.Model):
tag_text = models.CharField(max_length=30, unique=True, verbose_name='Tag')
def __str__(self):
return self.tag_text
class Meta:
verbose_name = 'QA Tag'
※没有qa_tag型号
如果我删除了标签列表(从2.Tag表上方),它将重定向到确认表。它显示带有一些变量名的列表,例如波纹管
标签:tag1
Qa标签关系:Qa_tags对象
Qa标签关系:Qa_tags对象
标签:tag2
Qa标签关系:Qa_tags对象
标签:tag3
Qa标签关系:Qa_tags对象
Qa标签关系:Qa_tags对象
Qa标签关系:Qa_tags对象
我真正期望的是(一些用户可读的信息)
标签:tag1
QA标签关系:QA2
QA标签关系:QA3
标签:tag2
QA标签关系:QA1
标签:tag3
QA标签关系:QA1
QA标签关系:QA2
QA标签关系:QA3
我不知道为什么会发生这种情况以及如何解决。任何帮助将非常感激。
编辑2:
在Daniel Roseman的答案之后,我尝试创建一个自己的模型来处理多对多关系
class Qa_Tag(models.Model):
def __str__(self):
return self.tag.tag_text
Qa模型更改如下
class Qa(models.Model):
....
tags = select2.fields.ManyToManyField(Tag, blank=True, through = 'Qa_Tag', verbose_name='Tag')
....
它显示删除时的值。但是我必须在admin.py中注册Qa_Tag,并且只能通过Qa_Tag视图分配关系。
现在,我知道原因是我的Qa_Tag表没有
__str__()
方法,但是仍然想不出办法如何为生成的qa_tag表编写模型类而不进行任何操作。 最佳答案
您没有显示模型,但是几乎可以肯定的是,您没有在Qa_tags类上定义__str__
方法。
关于python - Django删除确认 View ,显示变量名而不是信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52492400/