在定制了django oscar应用程序(address)并在运行migrate时添加了一个名为“area”的新字段后,它给了我为UserAddress指定的未知字段(area)
我用了命令
./manage.py oscar_fork_app address myappsfolder/
在创建文件夹和__init__.py
文件后
然后我开始像这样定制应用程序:
#myappsfolder/address/models.py
from django.db import models
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
from oscar.apps.address.abstract_models import AbstractAddress
class Address(AbstractAddress):
area = models.CharField(_("Area"), max_length=120,
choices=settings.AREA_CHOICES, blank=True)
from oscar.apps.address.models import *
由__init__.py
是空的,我是否应该向这些文件中添加一些内容?在
我应该如何自定义此应用程序?或者其他应用程序?
如果我在oscar/apps/address/abstract_models.py
中编辑模型,它只适用于本地主机,并且表单中的错误消失,这意味着django仍然从oscar/apps
读取模型,而不是从myappsfolder
读取模型。在
不能用这种方式重写}。相反,您需要重写要更改的特定地址模型。因此,如果要更改
AbstractAddress
,因为更改不会传播到其他模型,例如直接子类AbstractAddress
的{UserAddress
,请重写该特定模型:。。。在此之后,您对
UserAddressForm
的更改应该起作用。在如果您还需要重写
ShippingAddress
,那么您还必须派生shipping
应用程序并在那里执行相同的操作,因为这是模型所在的地方。在相关问题 更多 >
编程相关推荐