我想使用select_related(),但不加载通过select_related加载的模型的所有字段。
我只想过滤通过select_related加载的模型字段,而不影响其他queryset字段。 有一种解决方案可以使用only()并显式指定所有字段,但是当您有很多字段时,这是不切实际的。
在进化的情况下,使用exclude()和仅排除字段的解决方案都不可行。 (向模型添加字段)
还有其他方法吗?
通过一个示例,它将更容易理解:
class User(model.Model):
username = models.Charfield(max_length=50)
# ... many fields here
class Musician(models.Model):
created_by = models.ForeignKey(User)
first_name = models.CharField(max_length=50)
last_name = models.CharField(max_length=50)
instrument = models.CharField(max_length=100)
# ...
# many of fields here
我想通过使用Django ORM执行单个SQL查询来选择“音乐人”模型的所有字段,并且仅选择用户的用户名。