Я собираю админа для приложения satchmo. Satchmo использует отношения OneToOne для расширения базовой модели Product
, и я хотел бы отредактировать все это на одной странице.
Возможно ли иметь отношение OneToOne как Inline? Если нет, каков наилучший способ добавить несколько полей на заданную страницу моего администратора, которые в конечном итоге будут сохранены в отношении OneToOne?
например:
class Product(models.Model):
name = models.CharField(max_length=100)
...
class MyProduct(models.Model):
product = models.OneToOne(Product)
...
Я пробовал это для моего администратора, но он не работает, и, кажется, ожидает, что внешний ключ:
class ProductInline(admin.StackedInline):
model = Product
fields = ('name',)
class MyProductAdmin(admin.ModelAdmin):
inlines = (AlbumProductInline,)
admin.site.register(MyProduct, MyProductAdmin)
Который выдает эту ошибку: <class 'satchmo.product.models.Product'> has no ForeignKey to <class 'my_app.models.MyProduct'>
Это единственный способ сделать это Пользовательская форма ?
edit: Только что попробовал следующий код, чтобы добавить поля напрямую ... тоже не работает:
class AlbumAdmin(admin.ModelAdmin):
fields = ('product__name',)