如何在Django中创建私有模型字段?

时间:2011-11-18 10:07:45

标签: django

有没有办法在Django中创建一个私有字段。我希望这个字段只能从这个类的方法中访问。

以下是我想要的例子:

class TestModel(models.Model):
    __some_field = models.CharField(max_length=255)

解决方案:

更新:最后,我为此案例打造了自己的解决方案,并将其添加到我的django-fields软件包中,该软件包可在GitHub上找到:https://github.com/svetlyak40wt/django-fields

具体来说,如果您想在模型中使用私有字段,则必须从我的ModelWithPrivateFields类继承它们。

示例可在django-fields's unittests获得。

1 个答案:

答案 0 :(得分:0)

你为什么要这样做?

如果你只是想在管理界面中隐藏这个字段,你可以使用这个字段的名称,而不使用下划线(据我所知,它对Django没有任何影响)并注册TestModelAdmin类:

class TestModelAdmin(admin.ModelAdmin):
    exclude = ('some_field',)

admin.site.register(TestModel, TestModelAdmin)