Django在FOO_set中使用了什么字段?

时间:2018-04-01 15:05:44

标签: python django django-models

我有点被困。可以说我有这样的模特。

models.py

import html
try:
    import xml.etree.cElementTree as ET
except ImportError:
    import xml.etree.ElementTree as ET
clean_string = xmlstring.replace('"id=', 'id="')
clean_string = html.unescape(clean_string)
root = ET.fromstring(clean_string.strip())
for content in root.findall('.//text'):
    print(content.text)

如果我使用下一个代码:

class Company(models.Model):
    name = models.CharField(blank=False, null=False)

class Game(models.Model):
    developer = models.ForeignKey(Company, on_delete=models.CASCADE)
    publishers = models.ManyToManyField(Company)

据我了解,它返回current_company = Company.object.get(pk=1) current_company.game_set.all() 的所有游戏,但Django使用了哪些字段(开发人员或发布商)?

1 个答案:

答案 0 :(得分:3)

但正是由于这个原因,这段代码才有效。如果你试图运行它,Django会告诉你反向关系存在冲突。

如果您有两个指向同一模型的关系,则需要在其中一个上明确设置related_name以避免此冲突。