gpt4 book ai didi

python - 从基抽象类 Django 的子类中删除字段

转载 作者:太空宇宙 更新时间:2023-11-03 15:27:22 24 4
gpt4 key购买 nike

我正在创建一个需要评论系统的应用程序。我决定使用 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 不是模型表单 - 它手动定义其字段,包括必需的 email 字段。听起来你也需要覆盖它。

关于python - 从基抽象类 Django 的子类中删除字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4847949/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com