Django: admin.StackedInline без внешнего ключа - PullRequest
4 голосов
/ 03 октября 2011

У меня есть следующее в admin.py

class AdInline(admin.StackedInline):
    model = Ad

class UnitAdmin(admin.ModelAdmin):
    fields = ('user', 'name', 'about', 'url', 'active', 'type')
    list_display = ('user', 'name', 'url', 'created', 'active', 'type')

    inlines = [AdInline]

class AdAdmin(admin.ModelAdmin):
    fields = ('user', 'title', 'about', 'url', 'active')
    list_display = ('user', 'title', 'url', 'created', 'active', 'clicks')

Теперь это делается в mongodb, поэтому я не хочу отношений ... но я хочу, чтобы администратор работал .. Когда я пытаюсь загрузить модуль, я получаю следующую ошибку

Exception Value:    <class 'ad.models.Ad'> has no ForeignKey to <class 'ad.models.Unit'>

У объявления нет внешнего ключа. Я хочу, чтобы все объявления размещались внутри блока как словарь в mongodb. Я просто хочу использовать силу администраторов Django для их создания.

какие-нибудь указатели?

1 Ответ

5 голосов
/ 03 октября 2011

Ваш встроенный должен иметь внешний ключ для модели, в которую вы хотите его включить, т. Е. Вашему объявлению нужен внешний ключ для вашего устройства; Вот как это работает. Если вы не можете представить эти отношения, то вы не можете использовать строчные. Я не уверен, что может повторить это поведение в админе, но я не думаю, что inline отвечают всем требованиям.

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...