0
私はこれと同様のモデル持っている私は 中間の多対多フィールドを通してフィールドを照会する方法は?
を持って何ジャンゴ1.8とPython 2
を使用します。
from django import forms
from ceres.persons.models import Person, PersonUnitRelType, Unit
class MForm(forms.Form):
persons = forms.ModelMultipleChoiceField(Person.objects)
units = forms.ModelMultipleChoiceField(Unit.objects)
relations = forms.ModelMultipleChoiceField(PersonUnitRelType.objects)
:私はこれに似た形を持っている from django.db.models import Model
class Person(Model):
name = models.CharField()
class Unit(Model):
unit_name = models.CharField()
class PersonUnitRelType(Model):
relation=models.CharField()
class PersonUnitRelation(Model):
person = models.ForeignKey(Person)
unit = models.ForeignKey(Unit)
を
私はこのようなビューを持っています:
from django.http import HttpResponseRedirect
from django.shortcuts import render
from .forms import MessageForm
from ceres.persons.models import Person, PersonUnitRelType, Unit
def messages(request):
if request.method == 'POST':
form = MessageForm(request.POST)
if form.is_valid():
persons = form.cleaned_data['persons']
persons_list = [p.name for p in persons]
relations = form.cleaned_data['relations']
for relation in relations:
#TODO: Add all persons in 'relation' to persons_list
units = form.cleaned_data['units']
for unit in units:
#TODO: Add all persons in a unit witch have a 'relation' to persons_list.
return HttpResponseRedirect("./")
else:
form = MForm()
context = {
'form': form
}
return render(request, 'foo.html', context)
私が欲しいもの
人物の名前を直接、関係、またはユニットの魔法使いに関係なく選択してリストに追加したいと思います。これどうやってするの?