【问题标题】:Django one form / two modelsDjango 一种形式/两种模式
【发布时间】:2011-09-28 09:58:40
【问题描述】:

我有一个非常简单的事件跟踪模型:

class Event(models.Model):

    description = models.TextField()
    location = models.ForeignKey(Location)    
    start = models.TimeField()
    duration = models.IntegerField()
    event_date = models.DateField()
    creator = models.ForeignKey(User)

我选择在单独的表中提取位置以便能够执行查询:

class Location(models.Model):

    city = models.CharField(max_length=20)
    address = models.CharField(max_length=30).

考虑到位置应该单独完成而不是通过事件实例中的 ID 链接,创建用于插入/更新事件的表单的最佳方法是什么?我想为位置地址和城市设置一些自动填充字段,但为了简单起见,要保持在同一个表单上?

【问题讨论】:

    标签: django forms modelform


    【解决方案1】:

    在为ForeignKey 生成的ModelForm 中为ModelChoiceField 定义您自己的小部件。

    【讨论】:

    • 可能我解释的不好。我可以在一种形式中插入新位置,然后在第二种形式中插入新事件,从下拉菜单中手动选择先前定义的位置。我想知道如何一步完成,可能使用两个连接的表单和一个重定向,维护所选或创建位置的 PK?
    • 保存Location 后,您可以将其PK 添加到已验证的Event 并保存该模型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多