python - Django 管理员。以相同的形式创建父级和子级

标签 python django inheritance django-models django-admin

我的 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)

当我使用客户/公司的管理员时,它包括所有用户字段,这对我来说非常完美。但这种形式的客户/公司还包括一个带有用户外键的下拉列表,我不想先创建用户,然后创建客户/公司对象。我希望当我填写客户/公司表单(带有用户字段)时,我也应该创建用户对象。

有没有办法解决这个问题,而无需在客户/公司实例之前创建用户实例?

谢谢

最佳答案

您可以通过在 admin.py 中的模型注册中添加内联来完成此操作。

class AInline(admin.TabularInline):
    model = A

class BAdmin(admin.ModelAdmin):
    inlines = [AInline]

admin.register(A)
admin.register(B, BAdmin)

Django inline model admin documentation

关于python - Django 管理员。以相同的形式创建父级和子级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31790699/

相关文章:

python - 我如何使用 Anaconda 卸载 PyTorch?

php - 创建类似 Wiki 的 Web 应用程序的基础知识?

python - 如何从外部脚本更新 haystack 的索引?

c# - StyleCop 疯狂 : protected field

inheritance - Node.js 和浏览器(包括 IE6)的标准继承系统?

javascript - 如何使用backbone.js的多态性,特别是super的属性?

Python:球体的交集

python - 使用 Python 的 ElementTree 查找顶级 xml 注释

python - SQLAlchemy 中 peewee 的DoesNotExist 的等价物是什么?

python - Django 的模型字段是在类级别定义的吗?