Мне нужна модель с некоторыми полями 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 %}
Нет проблем добавлять или редактировать отдельные записи, но я предпочитаю обрабатывать записи, относящиеся к "min" и "max" одновременно.