0

テンプレートは

{% for type in types %} <h1>{{type.title}}</h1>

   {% for field in typelist %}
     <label><input type="checkbox" name="{{field}}">{{ field }}</label><br />
   {% endfor %}
{% endfor %} <br />

model.py

class Types(models.Model):
    user = models.ForeignKey(User, null=True)
    title = models.CharField('Incident Type', max_length=200)
    parent_type_id = models.CharField('Parent Type', max_length=100, null=True, blank=True)
    is_active = models.BooleanField('Is Active', default=True)

ここでは、この変数の下{{type.title}}にバスがあり{{ field }}、a.Seat と b.Glass として変数があります。

私の場合、1.Bus が親要素で、その子要素が a.seat b.Glass で、同じように 2.Classroom の場合、それらの子要素は a.Blackboard b.Table などです。

したがって、上記のループを使用すると、1.Bus a.Seat b.Glass a.Blackboard b.Table のような出力が得られますが、上記の例は必要なものであり、他のロジックも変更しましたが、入力していません子要素。
このように繰り返してみ{% for field in typelist %}ましたが、望ましい答えが得られませんでした。

4

4 に答える 4

1

モデルを変更せずに答えを見つけました!

ビュー.py

def method(request):
    """"""""""
    typeList = Types.objects.filter(user=user, is_active=True, parent_type_id=None)
        list = []
        for type in typeList:
            if not type.parent_type_id:
                list.append(type)
                subtype = Types.objects.filter(parent_type_id=type.id, is_active=True)
                for subtypes in subtype:
                    list.append(subtypes)
         """"""""
    return render(request, 'some.html',
                  {'typeList':list,})

template.html

{% for type in typeList%}
    {% if type.parent_type_id == None %}
    <h1>{{type.title}}</h1>
    {% else %}
    <label><input type="checkbox"  {% if type.id in selection %}checked="True" {% endif %} value="{{ type.id }}" name="type_key">{{ type.title }}</label><br />
    {% endif %}
{% endfor %}
于 2013-06-21T08:49:38.827 に答える
0

タイプとタイプリストを渡す場所からビューを投稿して、正確に何を渡しているのか、両者がどのように関連しているかを確認できますか。

于 2013-05-29T13:49:38.473 に答える