我正在尝试执行以下操作:
class PurchaseCreate(CreateView):
template_name = "generic_create.html"
model = Purchase
form_class = PurchaseForm
try:
latest_tag = Purchase.objects.latest('tag').tag
print(latest_tag)
next_tag = latest_tag + 1
except:
next_tag = 1
initial = {'tag': next_tag}
"标签"字段应以与输入的先前值的+ 1相关的值开始。当我在Django API中测试它时,它工作正常。然而,当从视图中调用时,它第一次正常工作,但似乎被卡住了#34;返回第一个值,即使创建了应该更新值的新对象。
实际上,在第一页加载后,try / except部分永远不会执行,因为即使刷新硬盘,打印顺序也不会显示在终端中。如何设置此视图以在每次加载页面时发送更新的结果?
答案 0 :(得分:0)
正如所建议的那样,我将逻辑移动到get_initial()
方法中,如下所示:
def get_initial(self):
super(PurchaseCreate, self).get_initial()
try:
latest_tag = Purchase.objects.latest('tag').tag
print(latest_tag)
next_tag = latest_tag + 1
except:
next_tag = 1
initial = {'tag': next_tag}
return initial