我需要在创建对象时将对象保存到组中。 我有Porumbei和Grupuri模型。每个Porumbei必须属于一个Grupuri。我有4种不同的Grupuri,并且根据表单字段的值,必须将其添加到正确的Grupuri中。 是否有“最佳实践”? 下面是可能的型号。
class Grupuri(models.Model):
""" Definire model pentru salvarea porumbeilor in grupuri"""
nume_grup = models.CharField(max_length=50, unique=True)
porumbei = models.ManyToManyField(Porumbei, related_name="grup_porumbei")
class(models.Model):
id_porumbel = models.AutoField(primary_key=True)
serie_inel = models.CharField(max_length=25, null=False, blank=False, unique=True,
help_text="Seria de pe inel. Ex: RO 123456")
is_active = models.BooleanField(default=True)
status = models.ForeignKey(StatusPorumbei, on_delete=models.PROTECT)
...
def porumbelnou(request):
if request.method == "POST":
# crescator=request.user - folosit pentru a filtra porumbeii crescatorului logat
form = AdaugaPorumbel(request.POST, request.FILES, crescator=request.user)
if form.is_valid():
obj = form.save(commit=False)
obj.crescator = request.user
obj.save()
return redirect('porumbei')
else:
# crescator=request.user - folosit pentru a filtra porumbeii crescatorului logat
form = AdaugaPorumbel(crescator=request.user)
context = {
'form': form,
}
template = loader.get_template("adaugare-porumbel.html")
return HttpResponse(template.render(context, request))
if form.data['is_active']:
toti = Grupuri.objects.get(nume_grup__exact="Toti porumbeii")
toti.porumbei.add(form.data['id_porumbel'])