Jua*_*rez 2 python django django-models
我有一个带有 ManyToMany 字段的模型,但是当我进行查询时,该字段None即使在数据库中有值也会返回(我已经使用 Django Admin util 检查了它)。
这是我的模型:
class Profile(models.Model):
name = models.CharField(max_length=50, unique=True, verbose_name=_('Name'))
cities = models.ManyToManyField(City, related_name='profiles', verbose_name=_('City'))
class Meta:
verbose_name = _('Profile')
verbose_name_plural = _('Profiles')
def __str__(self):
return "[{}]{}".format(self.name, self.cities)
Run Code Online (Sandbox Code Playgroud)
这是我的查询:
profile_city = models.Profile.objects.get(id=profile_id)
print(profile_city.id, ' ', profile_city.name, ' ', profile_city.cities)
Run Code Online (Sandbox Code Playgroud)
这是控制台中的结果:
1 Quintana Roo GeneralApp.City.None
Run Code Online (Sandbox Code Playgroud)
当我尝试遍历“Profile.cities”时,出现此错误:“TypeError: 'ManyRelatedManager' object is not iterable'。
我是 Django 的新手,我认为 ManyToMany 字段返回了一个数组,但显然不是。
谢谢你的帮助。
profile_city = models.Profile.objects.get(id=profile_id)
profile_city.cities 返回一个不能迭代的管理器类。
试试这个而不是profile_city.cities
profile_city.cities.all()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1908 次 |
| 最近记录: |