我目前正在学习Django ......
在做出承诺后,用户可以选择奖励。奖励具有价值和可抵扣价值。例如:可能有价值50美元的奖励,但只有40美元可以扣除。用户可以捐赠50美元或更多,所以如果他们捐赠100美元,除了10美元外,一切都可以扣除。
我有两个班级:"承诺"和"奖励"并且需要使用" Reward"中的新字段进行一些数学运算。确定可以扣除多少抵押。
class Pledge(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey()
project = models.ForeignKey('Project')
amount = models.DecimalField(decimal_places=2,max_digits=10,
default=D('0.00'))
reward = models.ForeignKey('Reward',blank=True,null=True,
on_delete=models.SET_NULL)
我只是复制了上面的奖励属性,希望从奖励中提取not_taxable,但我得到了这个错误:projects.Pledge.not_taxable:(fields.E304)' Pledge.not_taxable'的反向访问者与Pledge.reward'。
的反向访问者发生冲突 not_taxable = models.ForeignKey('Reward',blank=True,null=True,
on_delete=models.SET_NULL)
...
def get_deductible_total(self):
return (self.amount - self.not_taxable)
@property
def deductible_total(self):
return self.get_deductible_total()
...
class Reward(models.Model):
project = models.ForeignKey('Project')
title = models.CharField(max_length=255)
pledge_level = models.DecimalField(decimal_places=2, max_digits=10)
deductible = models.DecimalField(decimal_places=2, max_digits=10,default='0')
description = models.TextField(blank=True)
...
def get_not_taxable(self):
return (self.pledge_level - self.deductible)
@property
def not_taxable(self):
return self.get_not_taxable()
答案 0 :(得分:0)
谢谢,@ posttoronnim注意到并解释说......我删除了它,然后将它添加到我也忽略的admin.py中。