【问题标题】:Requests for django in the case of a foreign key在外键的情况下对 django 的请求
【发布时间】:2015-01-12 10:15:15
【问题描述】:

我有两个表,Author 和 Book,每本书都是由多个作者编写的,通过反对一个作者可以创建一本书,我想获取由单个作者创建的书单。 在我的模板中,我会查看写过一本书的作者

我的模型.py

class Book(models.Model):
        user = models.OneToOneField(User,related_name='user')
        name = models.CharField(default=0)
        def __unicode__(self):
                return u'%s' % self.user

class author(models.Model):
        name_auth = models.CharField(max_length=256)
        Book = models.ForeignKey(compte)
        def __unicode__(self):
                return u'%s' % (self.name_auth)

我的观点.py

Book1 =Book.objects.filter(user=request.user).values()
Book1_id= Book1.id
author = Author.objects.filter(pk=Book1_id).values
reponse[author]=author

我的模板

 {% for t in author %}
                            <td>{{ t.name }}</td>

        {% endfor %}

【问题讨论】:

  • 我建议您通读并练习 the tutorial 中的基础知识。我发现你的问题中缺少的是一个问题。它看起来更像是“请调试我的代码”。
  • 感谢您的推荐,但我是初学者,我还没有找到问题的答案,这就是在这里发布此消息的原因
  • 这就是为什么自学教程很有帮助。它将清楚您的代码的失败。相信我。
  • 我刚刚重新阅读了教程,但它对我没有帮助,这是我在这个论坛上发布我的问题之前所做的事情!!!!
  • 试试this one

标签: python django django-models django-templates django-views


【解决方案1】:

鉴于您的陈述,您的模型中的逻辑不正确......

“一本书可以有多个作者”

您需要使用ManyToManyField 来代表一本书的作者:

class Author(models.Model):
    user = models.OneToOneField(User)

    def __unicode__(self):
        return self.user.get_full_name()

class Book(models.Model):
    authors = models.ManyToManyField(Author)
    name = models.CharField(max_length=500)

    def __unicode__(self):
        return self.name


# views

from django.shortcuts import render, get_object_or_404

def book_detail(request, book_id):
    book = get_object_or_404(Book, id=book_id).prefetch_related('authors')

    return render(request, 'book_detail.html', {'book': book})


# book_detail.html

{% for author in book.authors.all %}
    {{ author }}
{% endfor %}

【讨论】:

    猜你喜欢
    • 2010-10-03
    • 2018-10-13
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-12
    • 1970-01-01
    相关资源
    最近更新 更多