Tôi đã tạo mô hình UserProfile để liên kết mô hình Người dùng.Mô hình Django u'id 'gặp sự cố khi sử dụng OneToOneField
tôi đã nhận lỗi khi làm python makemigrations manage.py:
django.core.exceptions.FieldError: Local field u'id' in class 'UserProfile' clashes with field of similar name from base class 'User'
Dưới đây là các mã:
from django.contrib.auth.models import User
from django.db.models.signals import post_save
class UserProfile(models.Model):
user = models.OneToOneField(User, related_name='user_of')
description = models.TextField()
def create_user_profile(sender, instance, created, **kwargs):
if created:
profile, created = UserProfile.objects.get_or_create(user=instance)
post_save.connect(create_user_profile, sender=User)
Môi trường: Django 1.8.2, Python 2.7.6, PostgreSQL 9.4. 2
Đó có phải là lỗi không? Tại sao hiện u'id' của '' cuộc đụng độ với các 'UserProfile tài' ...
Tôi đã cố gắng thêm một dòng trong file settings.py:
AUTH_PROFILE_MODULE = 'user_profile.UserProfile'
Nhưng đã không hoạt động cho dù nó có hay không.
Cách sửa lỗi này? Cảm ơn!
Hãy thử, chỉ để thử nghiệm, xóa tất cả di chuyển và bắt đầu chúng từ đầu. –
Giải quyết vấn đề tốt! Tại sao? Gill Bates, thật tuyệt vời! Tôi chỉ xóa tất cả các tệp di chuyển và tạo lại cơ sở dữ liệu. Cảm ơn bạn! – dotslash
Giải pháp này đến từ vé đó: https://code.djangoproject.com/ticket/21890 Nhưng đó là về thừa kế. Tôi cho rằng, bạn đã sử dụng thừa kế trong các phiên bản trước và có thể gây ra vấn đề. –