2

私はジャンゴが初めてです。私はそのようなモデルを持っています:

class Category(models.Model):
    category = models.CharField(max_length=20)

    def __unicode__(self):
        return self.category

class Tag(models.Model):
    tag = models.CharField(max_length=30, blank=True)


    def __unicode__(self):
        return self.tag

class News(models.Model):
    title = models.CharField(max_length=80)
    category = models.ForeignKey(Category)
    author = models.ForeignKey(User)
    news_body = models.CharField(max_length=5000)
    pub_date = models.DateField(default = datetime.datetime.now())
    tags = models.ManyToManyField(Tag, blank=True)

    def __unicode__(self):
        return self.title

そして、ニュースを追加するためのフォーム:

class AddNewsForm(ModelForm):
    class Meta():
        model = News

テンプレートの ModelChoiceField 表現に問題があります。<select>/<option>次のようにタグを使用したい:

<select id="id_category" name="category">
<option value="" selected="selected">---------</option>
{% for cat in form.category  %}
<option>{{cat}}</option>
{% endfor %}
</select>

しかし、それはうまくいきません。カテゴリ フィールドの選択肢を取得するにはどうすればよいですか (それらを反復するため)。簡単な質問ですが、私は混乱しており、有効な解決策が見つかりません。

{{ form.as_p }} では問題なく動作しますが、作成者フィールド (作成者 - ログイン ユーザー) を非表示にする必要があります。

4

1 に答える 1