私はジャンゴが初めてです。私はそのようなモデルを持っています:
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 }} では問題なく動作しますが、作成者フィールド (作成者 - ログイン ユーザー) を非表示にする必要があります。