有没有办法在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获得。
答案 0 :(得分:0)
你为什么要这样做?
如果你只是想在管理界面中隐藏这个字段,你可以使用这个字段的名称,而不使用下划线(据我所知,它对Django没有任何影响)并注册TestModelAdmin类:
class TestModelAdmin(admin.ModelAdmin):
exclude = ('some_field',)
admin.site.register(TestModel, TestModelAdmin)