Python 如何通过Django foreignkey描述进行查询?
如果我有这个密码Python 如何通过Django foreignkey描述进行查询?,python,django,django-models,django-orm,Python,Django,Django Models,Django Orm,如果我有这个密码 class Father(models.Model): Description = models.CharField(max_length=50) Code = models.IntegerField(max_length=2, unique=True) def __unicode__(self): return "%s (%s)" % (self.Description, self.Code) class Son(mod
class Father(models.Model):
Description = models.CharField(max_length=50)
Code = models.IntegerField(max_length=2, unique=True)
def __unicode__(self):
return "%s (%s)" % (self.Description, self.Code)
class Son(models.Model):
Father = models.ForeignKey(Father)
Description = models.CharField(max_length=50)
我想通过显示给用户的选择框创建一个过滤器
假设我有父亲的记录,比如:
# | Description | Code
--------------------------
1 | Fred Nichols | 100
在ForeignKey字段中,应包含如下HTML内容:
<option value="1">Fred NIchols (100)</option>
我犯了一个错误。在Django的文档中,最接近的选项应该是:
Son.objects.filter(Father__Description__contains="Fred")
或用于任何列数据
Son.objects.filter(Q(Father__Description__contains="Fred") | Q(Father__Code__Contains="Fred") )
我想做一些最类似的用户信息显示
我怎么能提出这样一个查询呢 在单个步骤中,您可以执行以下操作:
Son.objects.filter(father__Description__contains="Fred")
你做对了唯一错的是:
引用实体父项应为模型的小写名称
你的问题不清楚。你想干什么?最后一行代码应该可以获取FK父亲的任何儿子的描述或包含Fred的代码。如果用户尝试搜索类似的内容,它应该能够找到所有记录。搜索应该像ForeignKey字段中的字符串一样工作。它需要搜索哪些字段?我猜他在问如何根据_uunicode__;的返回值进行过滤。这是一个重复的问题
Son.objects.filter(father__Description__contains="Fred")