python - 模板中的Django formset视图以相反的顺序
问题描述
我正在使用 modelformset_factory 并在模板中查看 formset 数据。如果您查看下图,则模板在第一张图片中显示数据。但我想像第二张图片一样以相反的顺序查看表单集。首先,我将有新数据输入文本框。然后旧数据将以相反的顺序列出,就像在第二张图片中一样。
我的模型是:
class AssistantNotes(BaseModel):
categories = models.CharField(choices=CATEGORIES, max_length=100, verbose_name=_("Kategori"))
dailynote = models.TextField(null=True, blank=True, verbose_name=_("Not Ekle"))
def __unicode__(self):
return "%s / %s" % (self.dailynote, self.categories)
class Meta:
ordering = ['dailynote']
然后我创建了下面的视图。
def create_assistant_notes(request):
if request.method == 'GET':
if AssistantNotes.objects.count() == 0:
file_write("get000")
AssistantNotesFormsetFactory = modelformset_factory(AssistantNotes, fields=('categories', 'dailynote',))
else:
file_write("get111")
AssistantNotesFormsetFactory = modelformset_factory(AssistantNotes, fields=('categories', 'dailynote',), can_delete=True)
formset = AssistantNotesFormsetFactory(queryset=AssistantNotes.objects.all())
helper = TableInlineHelper()
return render(request, 'create-assistant-notes.html', {'formset': formset, 'helper': helper})
elif request.method == 'POST':
if AssistantNotes.objects.count() == 0:
AssistantNotesFormsetFactory = modelformset_factory(AssistantNotes, fields=('categories', 'dailynote',))
else:
AssistantNotesFormsetFactory = modelformset_factory(AssistantNotes, fields=('categories', 'dailynote',), can_delete=True)
formset = AssistantNotesFormsetFactory(request.POST)
if formset.is_valid():
formset.save()
else:
helper = TableInlineHelper()
return render(request, 'create-assistant-notes.html', {'formset': formset, 'helper': helper})
return redirect(reverse('create-assistant-notes'))
我的模板 html 文件是;
{% extends 'base.html' %}
{% load crispy_forms_tags %}
{% block title %}{% trans "Notes" %}{% endblock title %}
{% block content %}
<div class="block-area" id="basic">
<form role="form" method="post">
{% crispy formset helper %}
<div class="modal-footer">
<button type="submit" class="btn btn-sm btn-alt">{% trans "Save" %}</button>
<button type="button" class="btn btn-sm btn-alt" data-dismiss="modal">{% trans "Cancel" %}</button>
</div>
</form>
</div>
{% endblock content %}
解决方案
推荐阅读
- azure - 无法从 Grafana 连接 Azure 中国日志分析
- java - Spring boot JPA & Criteria API - 选择单列
- python - 正则表达式上的错误“不平衡括号”
- python-2.7 - SMTP 未与 python ftplib 连接
- arrays - 在 Swift 中是否可以将 UITableViewCell 的值附加到字符串数组?
- java - 是否可以根据用户输入限制查询结果?
- flutter - 设置子元素的高度等于 Wrap Widget (Flutter) 包含的其他最高元素
- java - 选项卡式活动中的 android 片段中的可绘制错误
- angular - 如何从库中导入组件(在 nrwl/nx 中使用 Angular)
- google-apps-script - 使提交按钮关闭对话框并将焦点返回到电子表格谷歌应用程序脚本