我的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