【问题标题】:How do I make a foreign key appear as its own form instead of a dropdown menu?如何使外键显示为自己的表单而不是下拉菜单?
【发布时间】:2011-08-31 15:54:29
【问题描述】:

我正在尝试为这样的电影列表创建一个表单集:

class MovieList(models.Model):
    user = models.ForeignKey(User)
    movie = models.ForeignKey(Movie)

class Movie(models.Model):
    genre = models.ForeignKey(Genre)
    name = models.CharField(max_length=300)

MovieListFormSet = inlineformset_factory(User, MovieList)
movielist_formset = MovieListFormSet(instance=currentUser)

现在“电影”显示为下拉菜单。但是,我希望“电影”显示为“Movie.name”的空白文本框,以及“Movie.genre”的下拉菜单。用户可以在文本框中输入电影名称并选择类型,如果该电影已经存在,则 MovieList.movi​​e 引用现有的表行,否则创建一个新的 MovieList 行并且 MovieList.movi​​e 引用新的表行。

我该怎么做?

【问题讨论】:

    标签: django inline-formset


    【解决方案1】:

    如果你想要更复杂的逻辑,为什么不从头开始创建一个新的表单集。代码应该不多。

    【讨论】:

    • 我可以这样做,但我很难找到从哪里开始,因为我对 Django 还比较陌生。你知道你可以指出我的任何例子吗?我找不到其他人用子表单替换他们的外键下拉菜单的任何地方,但我想我不能成为第一个尝试这个的人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-27
    • 2012-07-01
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 2018-02-02
    相关资源
    最近更新 更多