我试图用一个新字段扩展默认的Django模型。 在本地站点中/型号.py我有以下代码:
from django.db import models
from django.utils.translation import ugettext_lazy as _
from satchmo_store.contact.models import Organization
class OrganizationExtra(models.Model):
organization = models.OneToOneField(Organization,
verbose_name=_('Organization'), primary_key=True )
vat_number = models.CharField(_('VAT'), max_length=12)
然后运行./manage.py syncdb
,为上述模型创建了一个新表。到现在为止,一直都还不错。你知道吗
现在我尝试在管理界面的相关Organization
视图中添加这个新字段。
下面的代码注册了new菜单,但是new vat_number
字段不会显示在相关Organization
模型的视图中。你知道吗
from django.contrib import admin
from localsite.models import ProductResource, OrganizationExtra
admin.site.register(OrganizationExtra)
原始Organization
模型注册于
from satchmo_store.contact.models import Organization
from django.contrib import admin
class OrganizationOptions(admin.ModelAdmin):
list_filter = ['type', 'role']
list_display = ['name', 'type', 'role']
admin.site.register(Organization, OrganizationOptions)
知道如何在不接触原始Satchmo源的情况下插入我的新字段吗?你知道吗
像往常一样看docs。你知道吗
一种可能的方法是创建从
Organization
派生的新MyOrganization
,并注册它来代替satchmo One你的
models.py
你的
admin.py
另一个可能的解决方案(如果您希望坚持使用
OrganizationExtra
)是为管理接口Organization
创建自定义表单,然后再次注册模型。在我看来,更多的样板和结果将是一样的。你知道吗NB:在这两种情况下,数据库结构将是相同的,即将创建额外的表。你知道吗
相关问题 更多 >
编程相关推荐