Я создал пользовательскую модель, которая работает нормально. Проблема заключается в том, когда доступ пользователя из внешнего ключа, он бросает мне:Пользовательская модель не работает во внешнем ключе
подробность: Key (author_id) = (51) нет в таблице "AUTH_USER".
Моего заказ пользователь USERAUTH, очевидно, модель все еще ищет оригинальный пользователь модель вместо обычая один.
Вот что я сделал:
#settings.py
AUTH_USER_MODEL = 'userauth.UserAuth'
#models.py
from django.conf import settings
User = settings.AUTH_USER_MODEL
class Post(models.Model):
title = models.CharField(max_length=255)
content = models.TextField()
author = models.ForeignKey(User, null=True,blank=True,default=None)
#admin.py
class AdminPost(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
if getattr(obj, 'author', None) is None:
obj.author = request.user
obj.save()
Да , Ты прав. Проблема «default = None» вызвала проблему. Интересно, почему это повлияет на пользовательскую модель. –
@ dev-jim Когда вы устанавливаете 'default = None', вы переопределяете ForeignKey и говорите:« Сделать поле равным нулю ». Затем, пытаясь вызвать это поле, вы пытаетесь ничего не называть. По сути, у вас есть разговор без тела, когда вы пытаетесь вызвать его из базы данных. – jape
Спасибо за объяснение! –