自定义用户模型无法在外键中使用

时间:2015-08-05 19:26:43

标签: django foreign-keys django-custom-user

我创建了一个工作正常的自定义用户模型。 问题是当从外键访问用户时,它会抛出我:

  

详细信息:表格中没有键(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()

1 个答案:

答案 0 :(得分:0)

我会做这样的事情(不要费心分配变量):

<强> models.py:

from django.conf import settings

class Post(models.Model):
    title = models.CharField(max_length=255)
    content = models.TextField()
    # You don't need 'default=None'
    author = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True)