最佳答案
我正在为 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',)