How to combine select_related() and value()?

后端 未结 2 403
野趣味
野趣味 2021-01-13 19:04

We know there is a values() method of QuerySet, when there is a foreign key (author, for example), it result like:

[{ \'author_id\':         


        
相关标签:
2条回答
  • 2021-01-13 19:59

    AFAIK, Django doesn't have builtin support for that. select_related never changes the outcome of a queryset, only the number of queries when you access related object.

    You could use DjangoFullSerializers to get something that is similar to what you want.

    0 讨论(0)
  • 2021-01-13 20:08

    Implement the unicode method of each Model, and print it.

    class Book(..):
        title = models.CharField(..)
        color = models.CharField(...)
        author = models.ForeignKey('Author')
        ...
        def __unicode__(self):
            return u"%s %s %s" %(title, color, author)
    
    class Author(...):
        name = models.CharField(...)
        ...
        def __unicode__(self):
            return name
    
    0 讨论(0)
提交回复
热议问题