我在核心文件夹中有一个类,如下所示:
class AbstractLine(models.Model):
basket = models.ForeignKey('basket.Basket', related_name='lines',
verbose_name=_("Basket"))
quantity = models.PositiveIntegerField(_('Quantity'), default=1)
现在,我想覆盖此类,以便将数量PositiveIntegerField
更改为DecimalField
,如下所示:
from django.db import models
from django.utils.translation import ugettext_lazy as _
from oscar.apps.basket.abstract_models import AbstractLine as ModelLine
class Line(ModelLine):
quantity = models.DecimalField(_('Quantity'), default=0.25, decimal_places=2, max_digits=3)
我怎样才能做到这一点?
答案 0 :(得分:1)
实际上,这是不可能的。请参阅此问题:In Django - Model Inheritance - Does it allow you to override a parent model's attribute?
同样适用于抽象基类,请参阅this discussion on the Django user's group。
最好的办法是简单地删除基类中的字段。