class Author(Model):
state = models.CharField('ST')
class Essay(Model):
authors = models.ManyToManyField("Author",
through='EssayAuthor')
>> mylist
[ <Essay: A1>, <Essay: B4>, <Essay: C9>, <Essay: A3> ... ]
mylist是一个QuerySet
。
我想用Author
的state
向mylist中Essay
的每个实例添加另一个属性。假设有多个作者的书的状态是等价的。因此,对于一篇有两位作者的文章,使用哪位作者并不重要。你知道吗
因此,我希望能够做到:
>> essay0 = mylist[0]
>> essay0.state
'AK'
annotate
方法只对数值/浮点值有用;所以我不能使用它。如果使用生成器注入属性,如何重建QuerySet?你知道吗
你能在模特课上做这个吗?你知道吗
在这种情况下,我不认为您可以动态地对queryset进行注释,特别是使用“如果有多个作者,则只使用一个作者”逻辑。另一种选择是使用extra()为这些额外的数据构造一个更复杂的SQL查询。你知道吗
相关问题 更多 >
编程相关推荐