Python Django:在CBV视图中添加受约束的字段值,而不显示所有字段

Python Django:在CBV视图中添加受约束的字段值,而不显示所有字段,python,django,Python,Django,我正在使用ClassBasedView,并要求Django删除自动生成表单中的一些字段(出租:owner/owner\u card\u nb): 当表单发送到服务器时,我必须计算字段所有者\u car\u nb owner_card_nb= Bristol.objects.filter(owner=self.request.user) 如何将这些数据推送到html中显示的表单中,而不包含所有者,也不包含所有者\u car\u nb值 我尝试了几种方法: 将get_首字母添加到CBV: cla

我正在使用ClassBasedView,并要求Django删除自动生成表单中的一些字段(出租:owner/owner\u card\u nb):

当表单发送到服务器时,我必须计算字段所有者\u car\u nb

owner_card_nb= Bristol.objects.filter(owner=self.request.user)
如何将这些数据推送到html中显示的表单中,而不包含所有者,也不包含所有者\u car\u nb值

我尝试了几种方法:

  • 将get_首字母添加到CBV:

     class BristolCreateView(LoginRequiredMixin, CreateView):
         def get_initial(self):
             return {'owner': self.request.user.id,
                 'owner_card_nb': 1}
    
  • 但该网页仍然失败:

    IntegrityError at /bristol/create
    NOT NULL constraint failed: bristol_bristol.owner_id
    
    IntegrityError at /bristol/create
    NOT NULL constraint failed: bristol_bristol.owner_id
    
  • 使用表格(有效):

    def form_valid(self, form):
     form.instance.created_by = self.request.user
     form.instance.owner_card_nb= Bristol.objects.filter(owner=self.request.user)
     return super(BristolCreateView, self).form_valid(form)
    
  • 但该网页仍然失败:

    IntegrityError at /bristol/create
    NOT NULL constraint failed: bristol_bristol.owner_id
    
    IntegrityError at /bristol/create
    NOT NULL constraint failed: bristol_bristol.owner_id
    
    我做错了什么?
    如何在CBV表单中为未显示的字段设置值?

    错误出现在
    表单\u valid
    :我将
    创建的\u放入
    中,而不是
    所有者