如何向从父类继承的字段添加选项?

时间:2010-09-24 08:54:49

标签: django inheritance

如何在自定义类中添加父模型中存在的字段的选项? 更具体地说:我正在编写一个继承自django.contrib.comments.models.Comment的自定义评论模型。 我想将选项editable = False添加到IPAddressField

谢谢

2 个答案:

答案 0 :(得分:0)

我不知道如何为超类中的现有字段添加选项(如果有人知道更好的共享)。您不能覆盖该字段,因为超类不是抽象的。

如果您只想阻止字段编辑,可以使用自定义模型表单。此表单可以验证以确保无法编辑IP地址字段。

答案 1 :(得分:0)

我假设您不想在管理员中显示或编辑它。

from django.contrib import admin
from django.contrib.comments.models import Comment

class CommentAdmin(admin.ModelAdmin):
    exclude = ('ip_address',)

admin.site.unregister(Comment)
admin.site.unregister(Comment, CommentAdmin)

或者,您可以使用ready_only:

readonly_fields = ['ip_address']