gpt4 book ai didi

django 覆盖模型 save() 方法

转载 作者:行者123 更新时间:2023-12-01 08:48:48 25 4
gpt4 key购买 nike

我想获取 request 作为 save() 方法的参数。

模型.py

class Profile(models.Model):
uuid = UUIDField(auto=True)
user = models.ForeignKey(User)
name = models.CharField(max_length=128)
dob = models.DateField()

class Meta:
db_table = 'profile'

def save(self,*args,**kwargs):
if not self.pk:
self.user_id = 2 #here i need request.user instead of 2
super(Profile,self).save(*args,**kwargs)

表单.py

class ProfileForm(forms.ModelForm):

class Meta:
model = Profile
exclude = ['uuid','user']

views.py

def add(request):
profile_form = ProfileForm(request.POST)
profile_form.save()

我想传递 request.user 而不是值 2。我该怎么做。如果问题不正确,请有人更正问题。

最佳答案

不要在模型中这样做。在 View 中执行。

profile_form = ProfileForm(request.POST)
if profile_form.is_valid():
profile = profile_form.save(commit=False)
profile.user = request.user
profile.save()

关于django 覆盖模型 save() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28941300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com