python-从基本抽象类Django的子类中删除字段
作者:互联网
我正在创建一个需要评论系统的应用程序.我决定使用Django的注释应用程序,但需要对其进行一些更改.首先,我不希望用户的电子邮件ID是必填项,其次,我需要一个带有注释的文件附件.
因此,我决定从BaseCommentAbstractModel继承子类.现在我需要覆盖user_email
user_email= models.EmailField(max_length=100, blank=True)
并添加另一个字段
file = models.FileField(upload_to='data/files')
我的代码应如下所示:
from django.db import models
from django.contrib.comments.models import BaseCommentAbstractModel
class CommentWithFile(BaseCommentAbstractModel):
'''This is a hack of the Comment model to remove email and add a filefield'''
user_email = models.EmailField(max_length=100, blank=True)
file = models.FileField(upload_to='data/files')
但这不起作用. user_email仍然是必需的.有任何想法吗?
解决方法:
您确定问题与模型有关吗? BaseCommentAbstractModel甚至都没有定义user_email,它仅在主Comment模型中-并且在任何情况下都被定义为blank = True.
我认为您更有可能需要提供自定义表单.主CommentDetailsForm不是模型窗体-它手动定义其字段,包括必填的电子邮件字段.听起来您也需要覆盖它.
标签:base-class,python,django 来源: https://codeday.me/bug/20191208/2093914.html