无法将窗体保存到模型djang

2024-06-16 10:07:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我不能保存我的表格到一个模型到我的数据库中的代码工作顺利没有错误,但如果我在django管理检查它不保存到我的数据库模型你能帮我吗 这是我的密码:

表单.py

class InstagramUsernameForm(forms.ModelForm):

   class Meta:
       model = InstagramUsername
       fields = ('nama_orang','username','nama_depan')

   nama_orang = forms.CharField(max_length=20)
   username = forms.ModelChoiceField(queryset=Instagram.objects.values_list("username", flat=True))
   nama_depan = forms.ModelChoiceField(queryset=Instagram.objects.values_list("nama_depan", flat=True))

型号.py

from django.db import models

# Create your models here.
class Instagram(models.Model):
    nama_depan      =  models.CharField(max_length=100,blank=True,null=True)
    nama_belakang   =  models.CharField(max_length=100)
    username        =  models.CharField(max_length=100)

    def __str__(self):
        return self.username

class InstagramUsername(models.Model):
    nama_orang = models.CharField(max_length=20)
    username = models.CharField(max_length=20)
    nama_depan = models.CharField(max_length=100,default='')

    def __str__(self):
        return self.nama_orang

视图.py

def create2(request):
    akun_form = InstagramUsernameForm(request.POST or None)

    if request.method == 'POST':
        if akun_form.is_valid():
            akun_form.save()
        return redirect('sosmed:awe')
    else:
        print(akun_form.errors)
    context = {
        "akun_form":akun_form,
    }

    return render(request,"sosmed/awe.html",context)

awe.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>awe</title>
</head>
<body>
<form method="post">
    {% csrf_token %}
<h1>awe</h1>
<table>
{{ akun_form.as_table }}
</table>
    <button type="submit">Create</button>
</form>
</body>
</html>

无法将窗体保存到django模型


Tags: formtruemodelshtmlusernameformslengthmax
1条回答
网友
1楼 · 发布于 2024-06-16 10:07:32

当用作iterable时,values\u list返回元组列表,而不是模型实例。 所以使用.all()方法而不是值列表()

 username = forms.ModelChoiceField(queryset=Instagram.objects.all())

相关问题 更多 >