是否可以使用来自Foreignkey模型的模型字段和@属性的组合来创建Django查询集?
我有以下模型:
class Person(models.Model):
firstname = models.CharField(max_length=255)
prefname = models.CharField(max_length=255,null=True,blank=True)
surname = models.CharField(max_length=255,null=True,blank=True)
def __str__(self):
return str(self.person_name) if self.person_name else ''
@property
def person_name(self):
if not self.surname:
if not self.prefname:
return self.firstname
return self.prefname
if not self.prefname:
return ''.join([self.firstname,' ', self.surname])
return ''.join([self.prefname,' ', self.surname])
class Task(models.Model):
person = models.ForeignKey(Person)
status = models.CharField(max_length=255,choices=(('OPEN','Open'),('CLOSED','Closed'))
我试图用以下内容创建一个查询集:
qs = Task.objects.all().values_list('person__person_name','status')
发布于 2018-07-27 10:21:33
如下面的示例所示:
@property
def chairs_needed(self):
return self.num_employees - self.num_chairs
companies = Company.objects\
.annotate(chairs_needed=F('num_employees') - F('num_chairs'))\
.filter(chairs_needed__lt=4)
https://stackoverflow.com/questions/-100001694
复制相似问题