Câu hỏi nhanh (có thể là ngu xuẩn). Đây là luồng của trang web của tôi: Người dùng đăng nhập và được chuyển hướng đến trang quản trị tùy chỉnh. Trên trang quản trị này, họ có khả năng tạo một 'Hồ sơ'. Tôi muốn kết hợp Tiểu sử mà họ tạo với dữ liệu Người dùng của họ sao cho 1 Người dùng liên kết với 1 Tiểu sử.Kết nối với Mô hình Người dùng trong Django
Đối với một số lý do sau đây không hoạt động (chỉ cần cố gắng để kết hợp
UserAdmin.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
def createprofile(request):
user = User.objects.get(id=1)
profile = Profile(username=user, firstname='Joe', lastname='Soe', email='[email protected]')
profile.save()
tôi tiếp tục nhận được: bảng useradmin_profile không có cột có tên là usern ame_id
Bất kỳ ý tưởng nào? Đánh giá cao.
EDIT:
Deleted db của tôi và chạy một syncdb tươi, thay đổi tên người dùng = models.OneToOneField (Thành viên). Bây giờ tôi cam nhận được Không thể gán "uuperuperuser" ":" Profile.username "phải là một" User "instance.
Hmm, cảm ơn. Bây giờ tôi nhận được: Không thể gán "u'John '": "Profile.username" phải là phiên bản "Người dùng". (John là tên người dùng) – user1059105
Đã chỉnh sửa mã ... Hãy thử điều đó. Bạn sẽ phải làm một syncdb tươi mặc dù. – Scalamoosh
Hmm. Được rồi thử với một syncdb tươi. Vỏ sẽ in ra một khoảng trắng khi tôi cố gắng truy cập in a.first_name trong đó a = Người dùng. Khi tôi cố gắng truy cập vào đối tượng Profile và làm Profile.objects.all() tôi nhận được [] được in thay vì full_name(). Bất kỳ ý tưởng? –
user1059105