Django模型未设置外键对象

用户名

所以我做的Django模型CountryEmbassy,使馆要求两个国家参与,代表使馆一个国家,一个又一个的使馆位于,所以我已经把2个CountryS作为在国外键Embassy下面是我的模型.py:

from django.db import models

class Country(models.Model):
    code = models.CharField(primary_key=True, max_length=3) #ISO Alpha-3 Country Code
    name = models.CharField(max_length=50, db_column="Name")

    def __str__(self):
        return self.name


class Embassy(models.Model):
    government = models.ForeignKey(Country, on_delete=models.CASCADE, related_name="government")
    location = models.ForeignKey(Country, on_delete=models.CASCADE, related_name="location")
    name = models.CharField(max_length=200, db_column="Name")
    street_address = models.CharField(max_length=200, db_column="Address")
    city = models.CharField(max_length=50, db_column="City")
    phone_number = models.IntegerField(default=-1, db_column="Phone Number")
    fax_number = models.IntegerField(null=True, blank=True, db_column="Fax Number")
    email_address = models.CharField(max_length=200, db_column="Email")
    website = models.CharField(max_length=200, db_column="Link")

    def __str__(self):
        return self.name

现在,当我进入炮弹中时,我想找到与某个国家相关的大使馆:

>>> from appName.models import Country, Embassy
>>> c = Country(code="USA", name="United States of America")
>>> c.save()
>>> Country.objects.all()
<QuerySet [<Country: United States of America>]>
>>> c.embassy_set.all()
Traceback (most recent call last):
  File "<console>", line 1, in <module>
AttributeError: 'Country' object has no attribute 'embassy_set'

具有模型外键模型上查看django教程,问题对象的属性是一组选择对象(返回QuerySet)。但是,我的对象没有将对象设置为属性。为什么会这样呢?我怎样才能解决这个问题?ChoiceQuestionq.choice_set.all()CountryEmbassy

埃文斯·穆里迪(Evans Murithi)

这是因为您已经给出了related_name引用Country模型的位置。模型中的Country两个字段引用了该字段Embassy使用相关名称,您可以执行以下操作:

c.government.all()

这将返回Embassy国c为政府的所有内容。

c.location.all()

将返回Embassy居住在国家/地区中的所有物品c。

参考:向后关系

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

休眠未设置外键

来自分类Dev

Django获取的对象是两个模型的外键

来自分类Dev

Django 模型,2 个外键,对象逻辑

来自分类Dev

Django模型,循环外键

来自分类Dev

Django多重外键模型

来自分类Dev

如何为Sequelize模型设置外键?

来自分类Dev

如何在Django模型中设置外键字段以不返回任何值?

来自分类Dev

django外键(用户)在模型中

来自分类Dev

每个外键的Django模型单个实例

来自分类Dev

Django模型中的外键数组

来自分类Dev

django用户模型公司的外键

来自分类Dev

Django模型:使用外键中的字段

来自分类Dev

Django从模型CharField引入外键

来自分类Dev

Django模型:外键的唯一值

来自分类Dev

Django模型外键获取属性

来自分类Dev

Django模型外键中的属性错误

来自分类Dev

Django模型中的自动外键

来自分类Dev

Django模型中的外键数组

来自分类Dev

django用户模型公司的外键

来自分类Dev

在Django中用外键保存模型

来自分类Dev

Django多个外键模型的嵌套Json

来自分类Dev

Django从模型CharField引入外键

来自分类Dev

Django(模型):如何从外键获取实例

来自分类Dev

Django 模型外键组计算

来自分类Dev

Django使用外键创建模型

来自分类Dev

django中不同模型字段的外键

来自分类Dev

更正 Django 用户模型外键问题

来自分类Dev

保持Django模型的干净方法验证外键对象并使用ModelForm save

来自分类Dev

django通过模型将外键对象列表保存到m2m字段w /