Django:代理元类忽略verbose_name_plural

2 投票
1 回答
812 浏览
提问于 2025-04-16 02:43

Django-admin在处理我作为代理类运行的模型时,出现了复数形式的问题。

正常情况下,这里是可以正常工作的:

class Triviatheme(models.Model):
    [  ... elided ... ]
    class Meta:
        db_table = u'TriviaTheme'
        verbose_name_plural='trivia themes'

但是对于一个主要的内容表,我有一个叫做“Content”的父模型,还有一个代理类:

class News(Content):
    DTYPE='News'
    class Meta:
        verbose_name_plural='News'
        proxy = True

不过在Content的Meta中,它还是把'News'变成了'Newss',这意味着它忽略了verbose_name_plural字段,但没有忽略代理字段。

同样,在父类中重写这个字段似乎也没有效果。我漏掉了什么呢?有没有更好的方法来实现一个带有区分列的大表模型?

请注意,我是在从一个不同的应用程序反向工程一个数据库,所以模型已经相当固定,我不能随便改变结构。

编辑

我使用的是python 2.6 / Django 1.2.1

我还使用了一个管理类来处理区分字段,但它还是不管用。

1 个回答

1

顺便说一下,我在Django 1.1.1和Django 1.2.1上测试过这个,结果在这两种情况下都正常工作。

撰写回答