Django 为已使用外键设置的查询结果赋值
我有一个展览清单数据库,通过外键与举办地点数据库相关联。Django模板通过Django 为已使用外键设置的查询结果赋值,django,Django,我有一个展览清单数据库,通过外键与举办地点数据库相关联。Django模板通过listing.venture.name、listing.venture.url等方式访问查询结果中的场馆信息 但是,有些展览在临时场馆举行,这些信息存储在同一个数据库中,即listing.temp\u vention\u url等。因为在模板上加上条件似乎是浪费和悲哀的,我想把临时场馆的信息转移到模板期望常规场馆信息的地方。这不起作用: def transfer_temp_values(listings): f
listing.venture.name
、listing.venture.url
等方式访问查询结果中的场馆信息
但是,有些展览在临时场馆举行,这些信息存储在同一个数据库中,即listing.temp\u vention\u url
等。因为在模板上加上条件似乎是浪费和悲哀的,我想把临时场馆的信息转移到模板期望常规场馆信息的地方。这不起作用:
def transfer_temp_values(listings):
for listing in listings:
if listing.temp_venue:
listing.venue = Venue
listing.venue.name = listing.temp_venue
listing.venue.url = listing.temp_venue_url
listing.venue.state = listing.temp_venue_state
listing.venue.location = listing.temp_venue_location
这个错误使我吃惊:
ValueError at /[...]/
Cannot assign "<class 'myproject.gsa.models.Venue'>": "Exhibition.venue" must be a "Venue" instance.
/[…]处的ValueError/
无法分配“”:“展览.场馆”必须是“场馆”实例。
我还以为是。如何完成此操作?错误消息是因为您已将类
地点
分配给列表,而不是它的实例。您需要调用该类以获取实例:
listing.venue = Venue()
谢谢你,丹尼尔。(掌纹)