2010-12-08 19 views
2

Django raw_id_fieldsは、私が期待している方法でテーブルを表示していません。間違っていますか?私は次のようにForeignKeyのフィールドを編集するウィジェットraw_id_fieldsを使用しようとしている:Django admin raw_id_fieldsテーブル表示

#models.py 
class OrderLine(models.Model): 
    product = ForeignKey('SternProduct') 

class SternProduct(models.Model): 
    def __unicode__(self): return self.product_num 
    product_num = models.CharField(max_length=255) 

#admin.py 
#import and register stuff 
class OrderLineAdmin(admin.ModelAdmin): 
    raw_id_fields=('product') 

私は予想通り少しテキストボックスと拡大鏡ウィジェットを取得しますが、拡大鏡をクリックすると、私はこれを与える: flickr.com/photos/28928816私はチェンジページのC/Wの列に近い何かを得るだろうと思った

(申し訳ありませんが、明らかに複数のハイパーリンクを投稿することはできません)
/N00/5244376512// O /中/フォトストリームサイズ@ 、フィルターと検索フィールド。実際、それは明らかにwhat others getです。

もっと機能豊富なウィジェットを有効にする方法についてのご意見はありますか?

+0

これは( 'product')はタプルではなく、文字列であることに注意してください。タプルを作成するには、( 'product'、または) 'product'を使用する必要があります。 –

答えて

7

ああ、これは明らかだったはずですが、Djangoのドキュメントでは説明していません。 raw_id_fieldsポップアップに表示されるリストは、参照モデルの管理オブジェクトと同じオプションを使用します。

class SternProductAdmin(admin.ModelAdmin): 
    list_display = ('__unicode__', 'drawing_number', 'drawing_revision',) 
    list_filter = ('drawing_number',) 
    search_fields = ('drawing_number',) 
    actions = None 

がうまくいけば、これは将来的に他の人を助ける:私の例では、見栄えの良いポップアップを取得するので、私は次のようにSternProductAdminオブジェクトを作成する必要がありました。

関連する問題