2

次のような映画のリストのフォームセットを作成しようとしています:

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」の場合はドロップダウン メニューとして「Movie」が表示されるようにしたいと思います。ユーザーはテキスト ボックスに映画名を入力してジャンルを選択できます。その映画が既に存在する場合、MovieList.movi​​e は既存のテーブル行を参照します。それ以外の場合は、新しい MovieList 行が作成され、MovieList.movi​​e が新しいテーブル行を参照します。

これどうやってするの?

4

1 に答える 1

1

より複雑なロジックが必要な場合は、新しいフォームセットを最初から作成しないでください。それは多くのコードであってはなりません。

于 2011-05-24T07:18:13.503 に答える