我有下一个型号:
class User(models.Model):
id = models.IntegerField(primary_key=True)
class UserMarketSubscription(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
market = models.ForeignKey('Market', on_delete=models.CASCADE)
date_in = models.DateField(default=year_back)
date_out = models.DateField(default=year_back)
class Market(models.Model):
name = models.CharField(max_length=50)
不久之后,我的用户可以在多个市场上下载。
最后,我想获得包含所有用户及其订阅信息的QuerySet(每行1个用户)。所以我想得到下一个field_names(' id',' market1_date_in',' market1_date_out',' market2_date_in' ...,&# 39; marketN_date_out)
我已经尝试过注释,但它不起作用,因为它需要注释上的确切字段名称,而且我无法在每个市场的圆柱形区域内完成。
' values_list'方法返回一个具有不同订阅详细信息的用户的许多对象,我希望在一个对象中包含所有细节。
我该怎么做?
答案 0 :(得分:0)
您可以在queryset
中使用select_related和prefetch_related答案 1 :(得分:0)
您可以尝试:
user_obj.usermarketsubscription_set()