Django:在保存之前更改 TextField
Posted
技术标签:
【中文标题】Django:在保存之前更改 TextField【英文标题】:Django: change TextField before save 【发布时间】:2022-01-23 18:43:16 【问题描述】:这是我的模型:
class Card(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
imp_id = models.TextField(null = True)
这是我的观点:
def Add(request):
if request.method == 'POST':
form = Add_card(request.POST)
if form.is_valid():
save = form.save(commit = False)
save.user = request.user
save.imp_id = "asd" # I tried to change it here but I failed
save.save()
else:
form = Add_card()
cards = Card.objects.all()
return render(request, 'addcard.html', 'form': form, 'cards' : cards)
如何在保存之前更改该文本字段?
【问题讨论】:
你能显示forms.py Add_card() 类吗? 【参考方案1】:这个问题可以通过default='asd'
来解决。
【讨论】:
我会将“asd”替换为我创建的随机 id。所以这不是我要找的答案。反正我解决了。感谢您的评论。【参考方案2】:你可以这样做
def Add(request):
if request.method == 'POST':
request.POST.imp_id="asd"
form = Add_card(request.POST)
if form.is_valid():
save = form.save(commit = False)
save.user = request.user
save.save()
else:
form = Add_card()
cards = Card.objects.all()
return render(request, 'addcard.html', 'form': form, 'cards' : cards)
【讨论】:
以上是关于Django:在保存之前更改 TextField的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Django 应用程序设置保存在数据库中,或即时更改?