我的model.py
中有两个类class User(models.Model):
name = models.CharField()
phone = models.CharField()
# Other common fields
class Customer(User):
payment = models.CharField()
user__id = models.OneToOneField('User', db_column='id', primary_key=True)
class Company(User):
address = models.CharField()
user_id = models.OneToOneField('User', db_column='id', primary_key=True)
当我使用客户/公司的管理员时,它包含所有用户字段,这对我来说是完美的。但是这种形式的客户/公司还包括一个带有用户外键的下拉列表,我不想先创建用户,然后再创建客户/公司对象。我希望当我填写客户/公司表单(使用用户字段)时,我也应该创建用户对象。
有没有办法解决这个问题而不在Customer / Company实例之前创建User实例?
由于
答案 0 :(得分:3)
您可以通过在admin.py
中的模型注册中添加内联来实现此目的。
class AInline(admin.TabularInline):
model = A
class BAdmin(admin.ModelAdmin):
inlines = [AInline]
admin.register(A)
admin.register(B, BAdmin)