[英]ForeignKey to a Model field?
我希望有一个foreign key
在我与模型关系username
在该领域User
表(存储在user
与创建django.contrib.auth.forms.UserCreationForm
)。
我的模型看起来如何:
class Blog(models.Model):
username = models.CharField(max_length=200) // this should be a foreign key
blog_title = models.CharField(max_length=200)
blog_content = models.TextField()
username
段应该是外键。 外键应该在此字段中
除非我遗漏了某些内容,否则您可以将ForeignKey用于特定字段:
class Blog(models.Model):
username = models.ForeignKey(User, to_field='username')
https://docs.djangoproject.com/en/1.11/ref/models/fields/#django.db.models.ForeignKey.to_field
你不能有一个ForeignKey到一个字段,但你可以连续。
你想要username
是可以通过User
模型
所以:
blog.user.username
如果你坚持使用blog.username
你可以定义这样的属性:
from django.db import models
from django.contrib.auth.models import User
class Blog(models.Model):
user = models.ForeignKey(User)
然后访问您想要使用的字段:
blog.user.username
如果你坚持使用blog.username
你可以定义这样的属性:
from django.db import models
from django.contrib.auth.models import User
class Blog(models.Model):
user = models.ForeignKey(User)
@property
def username(self):
return self.user.username
使用该属性,您可以通过blog.username
访问username
。
user = ForeignKey('auth.User')
要么
from django.contrib.auth.models import User
user = ForeignKey(User)
或者更推荐
from django.conf import settings
user = ForeignKey(settings.AUTH_USER_MODEL)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.