【发布时间】:2011-09-07 17:53:42
【问题描述】:
我在models.py中如下:
class Item(models.Model):
date = models.DateField(_('date'), blank=True, null=True)
description = models.CharField(_('description'), max_length=255)
content_type = models.ForeignKey(ContentType, verbose_name=_('content type'))
object_id = models.PositiveIntegerField(_('object id'), db_index=True)
object = generic.GenericForeignKey('content_type', 'object_id')
class ItemAccountAmountRef(Item):
""" Items of which a Quote or an Invoice exists. """
amount = models.DecimalField(max_digits=10, decimal_places=2)
reference = models.CharField(max_length=200)
debit_account = models.ForeignKey(Account, related_name='receivables_receipt_debit_account')
credit_account = models.ForeignKey(Account, related_name='receivables_receipt_credit_account')
class PaymentItem(ItemAccountAmountRef):
pass
class Payment(models.Model):
invoice = models.ManyToManyField(Invoice, null=True, blank=True)
date = models.DateField('date')
attachments = generic.GenericRelation(Attachment)
site = models.ForeignKey(Site, related_name='payment_site', null=True, blank=True
items = generic.GenericRelation(PaymentItem)
在 admin.py 中:
class PaymentItemInline(generic.GenericTabularInline):
model = PaymentItem
form = PaymentItemForm
class PaymentAdmin(admin.ModelAdmin):
inlines = [PaymentItemInline]
在forms.py中:
class PaymentItemForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(PaymentItemForm, self).__init__(*args, **kwargs)
self.fields['credit_account'].label = "Bank Account"
在 PaymentItemInline 中,标签没有改变。我尝试过更改其他属性,例如工作的班级。如果我在调试模式下运行初始化,我可以看到标签变量正在更改,但是当呈现表单时,该字段仍被标记为信用帐户。有什么建议吗?
【问题讨论】:
-
你清除浏览器缓存了吗?
-
是的,我有,但遗憾的是它仍然给出了相同的结果。在另一个模型上,我现在尝试更改外键下拉列表的 onclick,但它似乎只能从第二个内联开始工作。我感觉这可能是 Django 问题,但我可能弄错了。现在看来我将不得不通过 javascript 进行这些更改,尽管这样做让我很痛苦。
-
很可能不是“Django 问题”。从您在此处发布的代码中看不出错误在哪里,但我敢打赌,在开源、社区审查、彻底测试和大规模部署的 Django 源代码之前,它就是您的代码。只是说。
标签: django django-admin django-forms