当前位置: 首页 > 面试题库 >

如何从子类的父窗体中删除字段?

贺福
2023-03-14
问题内容
class LoginForm(forms.Form):
    nickname = forms.CharField(max_length=100)
    username = forms.CharField(max_length=100)
    password = forms.CharField(widget=forms.PasswordInput)


class LoginFormWithoutNickname(LoginForm):
    # i don't want the field nickname here
    nickname = None #??

有没有办法做到这一点?

注意:我没有ModelForm,因此Metawith类exclude不起作用。


问题答案:

您可以通过覆盖 init 方法来更改子类中的字段:

class LoginFormWithoutNickname(LoginForm):
    def __init__(self, *args, **kwargs):
        super(LoginFormWithoutNickname, self).__init__(*args, **kwargs)
        self.fields.pop('nickname')


 类似资料:
  • 删除父实体时,我还想删除关联的子实体(从数据库中)。我试图在删除时使用级联,如下所示,但我一定做错了什么。 当对父实体对象调用删除时,我收到错误消息:“该实体仍在数据库的其他地方引用”。我可以确认该实体在数据库的其他地方引用的唯一地方是在下面的两个表中(如果我手动从数据库中删除子行,对父实体对象的删除调用工作正常)。在过去的9个小时里,我一直在阅读实体对象并尝试不同的东西。我做错了什么? 这是我的

  • 问题内容: 有没有办法做到这一点? 注意:我没有,因此的课程不起作用。 问题答案: 你可以通过覆盖init方法来更改子类中的字段:

  • 问题内容: 我准备了一个 小提琴 来演示这个问题。 我想要一种在删除子记录时将其删除到CASCADE到父记录的方法。 例如: 这应该级联到父表并删除记录。 问题答案: 外键仅在另一个方向上起作用:从父级到子级级联删除,因此,当删除父级(引用)记录时,所有子级(引用)记录也会被删除。 如果是1:1关系,则可以创建双向外键关系,其中一侧为,而两侧均为级联。 否则,您将需要在子表上创建一个触发器,以在没

  • 我的实体。ValidationStep与documentDetail有一对一的关系,documentDetail与documentValidations有一个完全的关系 我的删除查询 父ValidationStep被删除,但是docDetail和documentValidations仍然在数据库中。

  • 在我的项目中,我有两个实体与@OneTomany和@ManyToOne相关。看看这些照片- 我的问题-当我从供应品中删除记录时,也会从产品中删除记录,但我不会这样做。如果我删除CascadeType.All,然后重试此操作,将出现错误 com.mysql.jdbc.exceptions.jdbc4.mysqlintegrityConstraintViolationException:无法删除或更新

  • 问题内容: 假设Oracle 10G中有两个表 TableA中的每一行在TableB中都有与其相关的几个子行。 我想删除TableA中的特定行,这意味着我必须先删除tableB中的相关行。 这将删除子条目 要删除子表中刚刚删除的行的父行,我可以这样做 上面还将删除子表中的行,其中(last_update_Dtm = sysdate-30)为false。TableA没有last_update_dtm