首页 > 解决方案 > 我如何通过另一个字段模型设置值来建模

问题描述

我有模型

class Event(models.Model):
    some_field = models.CharField()


class Ticket(models.Model):
    event = models.ForeignKey(Event)

我如何设置模型票字段事件,带有 some_field 字段的事件?例子:

Ticket.objects.create(event__some_field = 'value')

你怎么能做到这一点?

附言。我不能在我的情况下使用 ticket.event_id = event_id 和 ticket.event = event(我不想请求数据库)

标签: djangopython-3.xdjango-models

解决方案


您必须与创建票证分开创建和保存事件实例。

event = Event(some_field='value')
event.save()

ticket = Ticket()
ticket.event = event
ticket.save()

如果您想更新与票证相关的现有活动:

ticket.event.some_field = "new value"
ticket.event.save()
# no need to save ticket here, because nothing has changed in the relationship between ticket and event


推荐阅读