Django,如何使用CreateView和UpdateView同时添加两条记录

Django,如何使用CreateView和UpdateView同时添加两条记录,django,forms,django-generic-views,Django,Forms,Django Generic Views,我需要一个带有一些FloatField字段的模型,这个表的每个记录都应该与另一个记录一起使用(第一行表示最小值,第二行确定最大值)。 我喜欢用户同时添加或编辑这两行的值。 我很想知道如何使用django CreateView和UpdateView泛型类或任何其他工具来实现这一目的。 请让我知道你的有用意见 更新: 这是我的代码的一部分: #models.py class DefinedInfo(models.Model): user = models.CharField(max_leng

我需要一个带有一些FloatField字段的模型,这个表的每个记录都应该与另一个记录一起使用(第一行表示最小值,第二行确定最大值)。 我喜欢用户同时添加或编辑这两行的值。 我很想知道如何使用django CreateView和UpdateView泛型类或任何其他工具来实现这一目的。 请让我知道你的有用意见

更新: 这是我的代码的一部分:

#models.py
class DefinedInfo(models.Model):
    user = models.CharField(max_length=30)
    bound = models.CharField(max_length=3) #takes 'min' or 'max'
    density = models.FloatField(default=0)
    weight =models.FloatField(default=0)
    ....


#views.py
class InfoCreateView(LoginRequiredMixin, CreateView):
    model = DefinedInfo
    template_name = 'item_new.html'
    fields = ['density', 'weight' ...]

    def form_valid(self, form):
        form.instance.user = self.request.user
        form.instance.bound = 'min'
        return super().form_valid(form)

class InfoUpdateView(LoginRequiredMixin, UserPassesTestMixin, UpdateView):
    model = DefinedInfo
    fields = ['density', 'weight' ...]
    template_name = 'item_edit.html'
    login_url = 'login'

    def test_func(self):
        obj = self.get_object()
        return obj.user == self.request.user


#Html template
{% extends 'base.html' %}
{% load crispy_forms_tags %}

 {% block content %}
<div>
<h5>Define new item</h5>
  <div>
 <form action="" method="post">{% csrf_token %}
     {{ form|crispy }}
  <button" type="submit">Save </button> 
  <button type="reset" onclick="location.href={% url 'profile' %}" >Cancel</button>
</form>
</div>
 </div>
 {% endblock %}
#models.py
类定义信息(models.Model):
user=models.CharField(最大长度=30)
绑定=模型。CharField(最大长度=3)#取“min”或“max”
密度=模型。浮动字段(默认值=0)
权重=型号。浮动字段(默认值=0)
....
#views.py
类InfoCreateView(LoginRequiredMixin,CreateView):
模型=定义信息
模板名称='item\u new.html'
字段=['密度','重量'…]
def表单_有效(自身、表单):
form.instance.user=self.request.user
form.instance.bound='min'
返回super().form_有效(form)
类InfoUpdateView(LoginRequiredMixin、UserPasseStMixin、UpdateView):
模型=定义信息
字段=['密度','重量'…]
模板名称='item\u edit.html'
login\u url='login'
def测试功能(自身):
obj=self.get_object()
返回obj.user==self.request.user
#Html模板
{%extends'base.html%}
{%load crispy_forms_tags%}
{%block content%}
定义新项目
{%csrf_令牌%}
{{form | crispy}}

基于类的通用视图用于一次更新/创建/删除模型的一个对象。
如果您想进行一些自定义,编写自己的视图可能会更清晰、更容易


如果确实修改了数据库中的两行,那么创建UpdateModel(UpdateView)会令人困惑。

欢迎使用。正如现在所写的,你的问题并没有描述你遇到的具体问题。请看如何写一个和。您应该向我们展示您的尝试。然后,放弃基于类的通用视图,将这两行同时添加到DB的最佳方法是什么?