Django按两列过滤值

时间:2017-03-09 17:45:08

标签: python django

我的models.py是:

class FormObject(models.Model):
    pattern = models.TextField(primary_key=False)  # TODO: JSONField with postgres db
    name = models.TextField(default='Test', primary_key=False)
    description = models.TextField(blank=True, primary_key=False)
    owner = models.ForeignKey(User)
    results = models.TextField(blank=True, primary_key=False)  # TODO: JSONField
    # hash which works like link
    ulink = models.TextField(unique=True, null=False, primary_key=True, default=get_uuid4)
    form_id = models.IntegerField(default=0, primary_key=False, unique=False)
    version = models.IntegerField(default=0, primary_key=False)

    class Meta:
        unique_together = (('owner', 'form_id', 'version'), )

我使用用户对象user.formobject_set.all()获取QuerySet 我想以下列方式过滤值:版本将是最大值,而id将是唯一的 例如,set中的对象很少(仅使用id和version来过滤它们):

id=1 version=0
id=2 version=0
id=3 version=0
id=3 version=1
id=3 version=2

结果应该是

id=1 version=0
id=2 version=0
id=3 version=2

0 个答案:

没有答案