I have a problem, and I'm looking for an answer, like a week ago, not finding. I want to save the model using Django User as a foreign key, I tried to create a new user as follows:
user=User.objects.create_user(username, email, password)
And then put the whole user or user id and it wonβt work like this:
studio_form.user_id=user
studio_form.user_id=user.id
And nothing happens, everything is stored in the database, user, group, but not as a user as a foreign key, the foreign key user_id is null every time, please help.
so this is my code:
Django Model:
from django.contrib.auth.models import User
class Studios(models.Model):
user_id=models.ForeignKey(User)
studio_name=models.CharField(max_length=250)
Django Forms:
from django import forms
from web.models import *
class studioForm(forms.ModelForm):
class Meta:
model = Studios
exclude=('user_id')
widgets = {
'password': forms.PasswordInput(),
}
Django View:
def studio_register(request):
if request.method == "POST":
studio_form=studioForm(request.POST, request.FILES)
if studio_form.is_valid():
studio_form.save(commit=False)
data=request.POST
username=data.get("user_name")
email=data.get("email")
password=data.get("password")
user=User.objects.create_user(username, email, password)
group=Group.objects.get(name='studio')
group.user_set.add(user)
studio_form.user_id=user.id
studio_form.save()
Any idea?
source
share