Meine Models.py, Hier verwende ich OneToOneField hier, um StudentProfile zu erweitern.FieldError mit Keyword 'Benutzername' beim Versuch, einen Benutzer mit Django zu erstellen
from django.db import models
from django.contrib.auth.models import User, UserManager
class SecretQuestion(models.Model):
question = models.CharField(max_length=200)
def __unicode__(self):
return self.question
class StudentProfile(models.Model):
user = models.OneToOneField(User)
batch = models.CharField(max_length=10)
course = models.CharField(max_length=20)
date_of_birth = models.DateField()
secret_question = models.ForeignKey(SecretQuestion)
answer = models.CharField(max_length=20)
contact = models.CharField(max_length=20)
Und meine Registrierung Ansicht, ich bin neue Benutzer main_user Erstellen und ich verwende es Student Profil zu erstellen: -
def register_page(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
main_user = User.objects.create_user(
username= form.cleaned_data['username'],
password = form.cleaned_data['password1'],
)
user = StudentProfile.objects.create(
user_id = main_user.id,http://stackoverflow.com/questions/ask
batch=form.cleaned_data['batch'],
course=form.cleaned_data['course'],
date_of_birth=form.cleaned_data['date_of_birth'],
secret_question=form.cleaned_data['secret_question'],
answer=form.cleaned_data['answer'],
contact=form.cleaned_data['contact']
)
return HttpResponseRedirect('/register/success/')
else:
form = RegistrationForm()
variables = RequestContext(request, {'form': form})
return render_to_response('registration/register.html',variables)
Nach der Registrierung in Django, erhalte ich,
FieldError at /register/
Cannot resolve keyword 'username' into field. Choices are: answer, batch, contact, course, date_of_birth, id, secret_question, user
Dies geschieht nach dem Ausfüllen der Registrierungsfelder und Drücken der Registertaste. Ich kann diesen Fehler nicht interpretieren. Was bedeutet das?
Ich habe das getan, aber immer noch denselben Fehler Ich erhalte. Auch ich weiß nicht, was passiert, denn wenn ich den ganzen Usercode lösche (dieser Teil form.cleaned_data ['username']) bekomme ich immer noch denselben Fehler, irgendeinen Hinweis? – JohnRK
@Jainit Hmm sehe meine Bearbeitung, genauer gesagt die [zweite Antwort] (http://stackoverflow.com/a/7580903/500584) auf die verlinkte Frage - hilft das? – agf
Es scheint, dass es funktioniert, habe ich zwei Fragen, Gibt es eine Möglichkeit, E-Mail von RegistrationForm und bei Verwendung der Klasse Meta und Generieren eines Formulars aus einem Modell auszuschließen, gibt es eine Möglichkeit, quesryset in einem Feld zu schreiben, möchte ich Tun Sie folgendes: - secret_question = forms.ModelChoiceField (queryset = SecretQuestion.objects.all()) – JohnRK