Tho*_*mel 0 django django-models
我有一个地址模型,它有一个联系人模型的外键:
class Address(models.Model):
street = models.CharField(max_length=25)
postal_code = models.CharField(max_length=25)
city = models.CharField(max_length=50)
country = models.CharField(max_length=50)
contact = models.ForeignKey(Contact, related_name='address to contact')
class Contact(models.Model):
salutation = models.CharField(max_length=1, choices=salutation_choices, verbose_name="salutation")
title = models.ForeignKey(Title, blank=True, null=True)
...
Run Code Online (Sandbox Code Playgroud)
现在我想根据地址对象的数据过滤我的联系人对象。因此,我想创建一个跨越关系的过滤器,遵循文档的这一部分:
我是这样试的:
result_set = Contact.objects.filter(address__street__contains='mystreet')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
Cannot resolve keyword 'address' into field. Choices are: address to contact, birthdate..
Run Code Online (Sandbox Code Playgroud)
实际上错误消息告诉我有一个字段地址要联系,但问题是我如何引用它?
您已将related_nameon Contact设置为address to contact。这是 Django 用于从 Contact 到 Address 的反向关系的值 - 由于这不是有效的属性名称,我很惊讶它竟然有效。
删除此属性,您的查找应该可以工作。
| 归档时间: |
|
| 查看次数: |
1318 次 |
| 最近记录: |