我正在为一个 satchmo 应用程序组合管理员。Satchmo 使用 OneToOne 关系来扩展基本Product
模型,我想在一页上对其进行编辑。
可以将 OneToOne 关系作为内联吗?如果没有,将一些字段添加到我的管理员的给定页面最终将保存到 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'>
这样做的唯一方法是自定义表单吗?
编辑:刚刚尝试以下代码直接添加字段......也不起作用:
class AlbumAdmin(admin.ModelAdmin):
fields = ('product__name',)