gpt4 book ai didi

Django-在创建另一个模型实例时自动创建模型实例

转载 作者:行者123 更新时间:2023-12-04 22:02:52 24 4
gpt4 key购买 nike

我有一个覆盖的用户模型和购物车模型。我希望一旦创建了用户模型实例,就会自动创建Cart模型实例。我正在尝试将新注册的用户传递到get_queryset方法中,但不知道如何执行。还有其他更好的方法吗?这是因为我可能需要对其他模型执行相同的操作,这与User模型不同,后者具有可以将值传递给get_queryset方法的形式。

account/models.py:

class Cart(models.Model):

user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)

def __str__(self):
return self.user.email + '_cart'

帐户/views.py:
class RegisterView(generic.CreateView):
template_name = 'account/register.html'
form_class = RegisterForm
success_url = reverse_lazy('book:home')

def get_queryset(self):
sign_up = self.request.POST.get('register')
if sign_up:
c = Cart.objects.create(user=???)
c.save()

account/templates/account/register.html:
<form name="register" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Sign Up">
</form>

最佳答案

使用连接到post_save模型的Django User signal

有关更多信息,请参见signals tutorial

关于Django-在创建另一个模型实例时自动创建模型实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52196365/

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