gpt4 book ai didi

python - Django 删除确认 View 显示变量名称而不是信息

转载 作者:太空宇宙 更新时间:2023-11-04 02:16:47 26 4
gpt4 key购买 nike

谁能帮我解决以下情况?我有 3 张 table ,如下所示。 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 |
---------------------

Edit

质量保证模型

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-tag 关系:Qa_tags 对象
    • Qa-tag 关系:Qa_tags 对象
  • 标签:tag2
    • Qa-tag 关系:Qa_tags 对象
  • 标签:tag3
    • Qa-tag 关系:Qa_tags 对象
    • Qa-tag 关系:Qa_tags 对象
    • Qa-tag 关系:Qa_tags 对象

我真正期望的是(用户可读的信息)

  • 标签:tag1
    • Qa-标签关系:qa2
    • Qa-标签关系:qa3
  • 标签:tag2
    • Qa-标签关系:qa1
  • 标签:tag3
    • Qa-标签关系:qa1
    • Qa-标签关系:qa2
    • Qa-标签关系:qa3

我无法弄清楚为什么会发生这种情况以及如何解决它。任何帮助将非常感激。

Edit2:

在 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 View 。

现在我知道原因是我的 Qa_Tag 表没有 __str__() 方法,但仍然无法弄清楚如何在不制动任何东西的情况下为生成的 qa_tag 表编写模型类。

最佳答案

你没有展示你的模型,但几乎可以肯定你没有在 Qa_tags 类上定义 __str__ 方法。

关于python - Django 删除确认 View 显示变量名称而不是信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52492400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com