Skip to main content
 首页 » 编程设计

python之Django:代理元类忽略 verbose_name_plural

2025年05月04日25lexus

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 

但是内容中的 Meta 仍然将“新闻”复数化为“新闻”,因此它忽略了 verbose_name_plural 字段,但没有忽略代理字段。

同样,覆盖父类中的字段似乎没有效果。我错过了什么?有没有更好的方法来实现带有鉴别器列的大型表模型?

请注意,这是从不同的应用程序对数据库进行逆向工程,因此模型设置得很好,我不能只更改架构。

编辑:

我在 python 2.6/Django 1.2.1 上

我也在使用 Manager 类来处理鉴别器,但它仍然不起作用。

请您参考如下方法:

FWIW 我用 Django 1.1.1 和 Django 1.2.1 测试了它,它在这两种情况下都按预期工作。