Django models 如何使用queryset在django中的模型中打印外键

Django models 如何使用queryset在django中的模型中打印外键,django-models,django-queryset,Django Models,Django Queryset,型号.py class tag_table(models.Model): tag_id = models.IntegerField(unique=True) book_tag = models.CharField(max_length=50,primary_key=True) def __unicode__(self): return self.book_tag class Book(models.Model): book_id = models

型号.py

class tag_table(models.Model):
    tag_id = models.IntegerField(unique=True)
    book_tag = models.CharField(max_length=50,primary_key=True)
    def __unicode__(self):
        return self.book_tag

class Book(models.Model):
    book_id = models.IntegerField(primary_key = True)
    book_author = models.CharField(max_length=50,default='')
    book_tag = models.ForeignKey(tag_table ,on_delete=models.CASCADE,default='')
    def __unicode__(self):
        return (self.book_author,self.book_tag)
我正在交互式shell(django)中使用查询

Book.objects.all()[0]。Book\u标记

回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“C:\Python27\lib\site packages\django-1.10.3-py2.7.egg\django\db\models\fields\related\u descriptors.py”,第1行 在中获取 rel_obj=qs.get() get中的文件“C:\Python27\lib\site packages\django-1.10.3-py2.7.egg\django\db\models\query.py”,第385行 self.model.\u meta.object\u name DoesNotExist:标记\表匹配查询不存在


如何使用模型“book”的对象列表访问外键“book_标记”

您的数据库模式不正确,因为您在Django中使用的是MVC,所以不需要手动关联数据库中的表,因为它过时了,而且有点难

这是你的假设模型,我希望它能有所帮助

class Book(models.Model):
      author = models.ForeignKey(Author)
      tags = models.ForeignKey(Book_Tags)
      def __unicode__(self):  ###__str__() in python3
          return self.author.name
  • Author和Book_标记是您应该在之前定义的另外两个模型
  • 不需要id。Django将自动声明它
  • 您可以在编写代码时使用。这很有帮助

    例如,要编写模型,请从