模型字段的外键?
ForeignKey to a Model field?
我想要我的模型中的 foreign key
关系与 User
table 中的 username
字段(存储使用 [= 创建的 user
15=]).
这是我的模型的样子:
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
字段应该是外键。The Foreign Key should be with this field
字段不能有外键,但行可以。
您想要 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)
除非我遗漏了什么,否则你可以有一个特定字段的外键:
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
我想要我的模型中的 foreign key
关系与 User
table 中的 username
字段(存储使用 [= 创建的 user
15=]).
这是我的模型的样子:
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
字段应该是外键。The Foreign Key should be with this field
字段不能有外键,但行可以。
您想要 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)
除非我遗漏了什么,否则你可以有一个特定字段的外键:
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