有人可以解释我将如何在Django中引用另一个模型,以及为什么我需要这样做吗?
class Post(models.Model):
author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
title = models.CharField(max_length=200)
text = models.TextField()
image = models.ImageField(upload_to='images')
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
def __str__(self):
return self.title
这是我的第一堂课,我需要在下面的BannerPost类中引用它。
class BannerPost(models.Model):
image = models.ImageField(upload_to='images')
created_date = models.DateTimeField(default=timezone.now)
published_date = models.DateTimeField(blank=True, null=True)
def publish(self):
self.published_date = timezone.now()
self.save()
答案 0 :(得分:2)
我认为您在这里谈论的是Foreign_keys,因此您需要在BannerPost模型中添加一个外键字段:
post = models.ForeignKey(post)
“这被称为数据库表中的关系。如果您使用的是Google,那么您会找到比我们在此处的答案中能更好地解释它的教程。”您也可以查看此“ docs.djangoproject.com/en/2.1/topics/db/models/#relationships”进一步了解Django的实现。