【发布时间】:2020-06-25 20:12:46
【问题描述】:
从此代码
from django.db import models
class Reporter(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
email = models.EmailField()
def __str__(self):
return "%s %s" % (self.first_name, self.last_name)
class Article(models.Model):
headline = models.CharField(max_length=100)
pub_date = models.DateField()
reporter_name = models.ForeignKey(Reporter, on_delete=models.CASCADE)
def __str__(self):
return self.headline
class Meta:
ordering = ['headline']
而不是使用 ForeignKey 将整个类 Reporter 放入 reporter_name 我想使用 ForeignKey 将 first_name 放入reporter_name,我问是因为我想在另一个应用程序的不同模型中使用该类。
【问题讨论】:
-
您不会存储整个对象。
ForeignKey本身会存储你在字段中引用的对象的主键。 -
有没有办法只得到reporter_name 中的first_name,即使它不是'ForeignKey'。我希望你明白我的意思,我只希望 Reporter(first_name) 进入reporter_name。
-
因为它不是
unique字段,所以不,因为这意味着仅基于first_name,您不能引用(唯一的)Reporter。 -
我认为我应该使用 ManyToManyField