在django中将数据发布到具有foriegnkey关系的数据库时获取AttributeError?
我有一个用户和家具表我想通过表单存储用户在用户表中选择的家具id家具字段在发布时与家具表具有外键关系我收到此错误 My models.py是:在django中将数据发布到具有foriegnkey关系的数据库时获取AttributeError?,django,django-models,django-views,Django,Django Models,Django Views,我有一个用户和家具表我想通过表单存储用户在用户表中选择的家具id家具字段在发布时与家具表具有外键关系我收到此错误 My models.py是: class furniture(models.Model): id=models.IntegerField(primary_key=True) phrase=models.CharField(max_length=60,default='111111') class users(models.Model): email=mo
class furniture(models.Model):
id=models.IntegerField(primary_key=True)
phrase=models.CharField(max_length=60,default='111111')
class users(models.Model):
email=models.CharField(max_length=50,default='0000000')
password=models.CharField(max_length=50,default='0000000')
room = models.ForeignKey(rooms,on_delete=models.CASCADE)
goal = models.ManyToManyField(goals)
style = models.ManyToManyField(designs)
furniture = models.ForeignKey(furniture,on_delete=models.CASCADE)
My views.py:
def user_register(request):
if request.method == 'POST':
username=request.POST["username"]
email = request.POST['email']
password = request.POST['password']
room = request.POST['room']
g=goal=request.POST['goal']
g = g.split(',')
s=style=request.POST['style']
s=s.split(',')
furniture=request.POST['furniture']
user = users(password=password,email=email)
user.room=rooms.objects.get(pk=room)
goal = goals.objects.filter(pk__in=g)
style = designs.objects.filter(pk__in=s)
request.encoding = 'koi8-r'
user.furniture = furniture.objects.all()
user.save()
user.goal.add(*goal)
user.style.add(*style)
return render(request,'home.html')
我的form.html是:
<div class="card-body">
<form action="{% url 'car:user_register' %}" method="POST" >
{% csrf_token %}
<div class="form-group">
<label for="username">Username</label>
<input type="text" name="username" class="form-control" required>
</div>
<div class="form-group">
<input type="text" name="room" id="name" value=" ">
</div>
<div class="form-group" >
<input type="text" name="goal" id="goal" value=" ">
</div>
<div class="form-group" >
<input type="text" name="style" id="style" value=" ">
</div>
<div class="form-group" >
<input type="number" name="furniture" id="furniture" value=" ">
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="text" name="email" class="form-control" required>
</div>
<div class="form-group">
<label for="password2">Password</label>
<input type="password" name="password" class="form-control" required>
</div>
<input type="submit" value="Register" style="background-color:#000080;" class="btn btn-secondary btn-block">
<div class="rangeslider">
</div>
</form>
{%csrf_令牌%}
用户名
电子邮件
密码
错误是:
根据上面的说明,房间id正在存储,但为什么家具id没有存储请帮助我解决问题是的,我得到了一个答案,表单字段名和表名不应该相等,因此我更改了表单字段名