我有以下关系:
class AMe(models.Model):
Field1 = models.CharField(max_length=50, choices = Field1_CHOICES)
Field2 = models.CharField(max_length=50, choices = Field2_CHOICES)
class MP(models.Model):
MyAMeID = models.ForeignKey(AMe)
Field1 = models.CharField(max_length=50, choices = Field1_CHOICES)
现在的问题是我想用外键MyAme来选择MP中的记录,但是FK与AMe的主键不同,那么在MP中选择记录的简单方法是什么呢?我应该使用queryset和filter选项吗?或者有没有一个更聪明的方式,更Django的方式来做这件事,我错过了?你知道吗
您可以使用
my_AMe_object.mp_set.all()
(Django通过连接模型名称自动为ForeignKey
字段创建反向关系-这里mp
和_set
,可以通过related_name
字段属性直接设置),或者MP.objects.filter(MyAMeID=my_AMe_object)
。你知道吗反向关系的用法示例:
请注意,
mp_set
返回一个QuerySet
对象,不管结果的数量如何(类似于常规的Model.objects.all()
方法)。你知道吗相关问题 更多 >
编程相关推荐