为啥这不起作用? [姜戈]

Posted

技术标签:

【中文标题】为啥这不起作用? [姜戈]【英文标题】:Why is this not working? [Django]为什么这不起作用? [姜戈] 【发布时间】:2017-10-15 07:03:56 【问题描述】:

我正在努力解决这个问题

% extends "base_generic.html" %
% block content %        
<h1> author.first_name   author.last_name </h1>
% for book in view.books_by_author %
    % if author.last_name  in book.author %
        <p> book.title </p>       
    % endif %
% endfor %    
% endblock %

“作者”是一个上下文变量。这是 books_by_author 函数:

def books_by_author(self): 
    books = Book.objects.all()  
    return books

这部分不起作用:

% if author.last_name  in book.author %
        <p> book.title </p>

但是当我尝试这个时,它正在工作。有没有办法让“book.author”成为一个字符串,或者有办法解决吗?

% if "Twain"  in book.author %
        <p> book.title </p>

【问题讨论】:

@ChristianKönig 对于这个特定问题,我怎么能比这更具描述性?我在主题行中包含了 [Django]。 【参考方案1】:

你应该和相关作者的last_name比较

% if author.last_name in book.author.last_name %
    <p> book.title </p>       
% endif %

或者更严格地说,使用==

% if author.last_name == book.author.last_name %
    <p> book.title </p>       
% endif %

【讨论】:

以上是关于为啥这不起作用? [姜戈]的主要内容,如果未能解决你的问题,请参考以下文章

如何做一个简单的缩放动画,为啥这不起作用?

为啥 NSPredicate 和 DateComponents 不起作用

Python正则表达式,多行匹配模式..为啥这不起作用?

在单独的方法中初始化 Java 对象:为啥这不起作用

为啥 AVPlayer 边界时间观察器不起作用?

为啥最简单的补丁创建示例不起作用?