Hızlı (muhtemelen aptalca) soru. Bu, sitemin akışı: Kullanıcı oturum açar ve özel bir yönetici sayfasına yönlendirilir. Bu yönetici sayfasında bir 'Profil' yapma yeteneği vardır. Kullanıcı Profili ile oluşturdukları Profili, 1 Kullanıcı'nın 1 Profille ilişkilendireceği şekilde ilişkilendirmek istiyorum. çalışmıyor aşağıdaki Nedense Django 'ya Kullanıcı Modeline Bağlanın
(basitçeUserAdmin.Models
from django.db import models
from django.contrib.auth.models import User
class Profile(models.Model):
username = models.ForeignKey(User)
firstname = models.CharField(max_length=200)
lastname = models.CharField(max_length=200)
email = models.EmailField(max_length=200)
def __unicode__(self):
return self.username
UserAdmin.Views ben almaya devam
def createprofile(request):
user = User.objects.get(id=1)
profile = Profile(username=user, firstname='Joe', lastname='Soe', email='[email protected]')
profile.save()
ilişkilendirmeye çalıştığınız: table useradmin_profile adlı kullanıcının adında hiç sütun yok
Herhangi bir fikir ame_id? Takdir.
DÜZENLEME:
benim db Silinen ve taze syncdb ran, username = models.OneToOneField (User) olarak değiştirildi. Şimdi ben alırım "u'superuser '" atanamaz: "Profile.username" bir "Kullanıcı" örneği olmalıdır. Bir username
ForeignKey alan vardı önce
Hmm, teşekkürler. Şimdi alıyorum: "u'John '" atanamaz: "Profile.username" bir "Kullanıcı" örneği olmalıdır. (John bir User.username) – user1059105
Kodu düzenledim ... Bunu dene. Yine de yeni bir syncdb yapmalısınız. – Scalamoosh
Hmm. Tamam, yeni bir syncdb ile çalıştı. A.first_name baskıya erişmeye çalıştığımda kabuk bir boş yazdırıyor, burada a = Kullanıcı. Profile nesnesine erişmeye çalıştığımda ve Profile.objects.all() yaptıktan sonra full_name() yerine [] yazdırılıyor. Herhangi bir fikir? –
user1059105