Django admin raw_id_fields таблица отображения - PullRequest
2 голосов
/ 08 декабря 2010

Django raw_id_fields не отображает таблицы так, как я ожидаю, я делаю что-то не так? Я пытаюсь использовать виджет raw_id_fields для редактирования поля ForeignKey следующим образом:

#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@N00/5244376512/sizes/o/in/photostream/
(извините, я не могу опубликовать более одной гиперссылки)

Я думал, что получу что-то ближе к странице списка изменений c / w столбцам, фильтрам и полям поиска. Фактически, это, очевидно, , что получают другие .

Есть мысли о том, как включить более функциональный виджет?

1 Ответ

7 голосов
/ 08 декабря 2010

Ах, хорошо, это должно было быть очевидно, но это не объяснено в документации Django.Список, который появляется во всплывающем окне raw_id_fields, использует те же параметры, что и объект admin для указанной модели.Поэтому в моем примере, чтобы получить красивое всплывающее окно, мне нужно было создать объект SternProductAdmin следующим образом:

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

Надеюсь, это поможет другим в будущем.

...