2009-07-31 6 views
4

我々はForeignKeyの(例えば著者は、)がある場合、それは次のようになるクエリセットの値()メソッドがあります知っている:select_related()とvalue()を結合する方法は?

[{ 'author':{'name':'dave',...}, ... }, ...] 

:私のような結果が欲しい

[{ 'author_id':3, ... }, ...] 

select_relatedを試しましたが、values()は外部キーの詳細を表示しません。どうすればよいですか?

+0

https://stackoverflow.com/questions/35595085/how-to-combine-select-related-and-value-2016/35598358#35598358 – Risadinha

答えて

1

AFAIKでは、Djangoには組み込みサポートがありません。 select_relatedは、クエリーセットの結果を変更することはなく、関連するオブジェクトにアクセスするときのクエリーの数だけを変更します。

DjangoFullSerializersを使用して、似たようなものを得ることができます。

+0

DjangoFullSerializersを参照すると便利です、ありがとう。 – fallhunter

0

各モデルのユニコードメソッドを実装して印刷します。新しいDjangoのバージョン(1.7以上)のため

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

まあ、ありがとう、あなたは大きなヒントを与えた – fallhunter

関連する問題