【问题标题】:Django model, saving objectsDjango模型,保存对象
【发布时间】:2021-03-24 13:35:23
【问题描述】:

我正在开发一个小型交换系统,我想给每个加入这个应用程序的人随机数量 (1-10) 的 btc。当有人成功编译注册表时,会在钱包中收到随机数量的 Btc。这是我的代码,但不起作用

models.py

class Profile(models.Model):
    _id = ObjectIdField()
    user = models.ForeignKey(User, on_delete=models.CASCADE)
    wallet = models.FloatField()

class Order(models.Model):
    _id = ObjectIdField()
    profile = models.ForeignKey(User, on_delete=models.CASCADE)
    datetime = models.DateTimeField(auto_now_add=True)
    price = models.FloatField()
    quantity = models.FloatField()

views.py

def registerPage(request):
    bonus = randint(1,10)
    form = CreateUserForm()
    if request.method == 'POST':
        form = CreateUserForm(request.POST)
        if form.is_valid():
            form.wallet = bonus
            form.save()

            return redirect('login')

    contex = {'form':form}
    return render(request, 'app/register.html', contex)

forms.py

class CreateUserForm(UserCreationForm):
    class Meta:
        model = User
        fields = ['username', 'email', 'password1', 'password2']

我不知道这是否不重要,但我正在使用 Mongodb。谢谢

【问题讨论】:

  • 你能补充更多细节吗?有错误吗?此外,您的表单没有钱包属性。也许这是个问题?

标签: django django-models django-views


【解决方案1】:

试试这个:

def registerPage(request):
    form = CreateUserForm()
    if request.method == 'POST':
        form = CreateUserForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            bonus = random.randint(1,10)
            new_profile = Profile.objects.create(user=new_user, wallet=bonus)
            new_profile.save() # unnecessary after calling `create` but I still do this just in case :)
            return redirect('login')
    else:
        form = CreateUserForm()
    contex = {'form':form}
    return render(request, 'app/register.html', contex)

【讨论】:

  • 不起作用。没有错误,但配置文件模型中没有新配置文件
  • 好的,我知道问题出在哪里,让我更新
  • suuuuper,谢谢
猜你喜欢
  • 2018-01-04
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
  • 2017-06-21
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多