1

我不知道我应该在那里使用什么类型的数据。使用主键我认为没有问题。但这不是我需要的。

这是我的models.py的一部分:

from django.db import models
from django.contrib.auth.models import User
from django.utils.timezone import now

class Parcella(models.Model):
    ###
    user = models.ForeignKey(User, on_delete=models.CASCADE)

    def __str__(self):
        return self.parcellanev

class Muvelet(models.Model):
    ###
    parcella = models.ForeignKey(Parcella, on_delete=models.CASCADE)

这是我的views.py的一部分:

@login_required
def muvelethozzaadas(request, parcella_pk):
    if request.method == 'GET':
        return render(request, 'foldmuv/muvelethozzaadas.html', {'form':MuveletForm()})
    else:
        try:
            form = MuveletForm(request.POST)
            ujmuvelet = form.save(commit=False)
            ujmuvelet.parcella = parcella_pk
            ujmuvelet.save()
            return redirect('parcellak')
        except ValueError:
            return render(request, 'foldmuv/muvelethozzaadas.html', {'form':MuveletForm(), 'error':'Nem megfelelő adat. Kérlek prbáld újra!'})

这是我 parcellaegy.html 的一部分:

<form method="POST" action="{% url 'muvelethozzaadas' parcella.id %}">
    {% csrf_token %}
    <button type="submit">Hozzáadás</button>
</form>
4

1 回答 1

0

首先,您必须获取 Parcella使用对象parcella_pk并将该对象分配给ujmuvelet.parcella...

parcella_obj = Parcella.objects.get(id=parcella_pk)
ujmuvelet.parcella = parcella_obj 
ujmuvelet.save()
于 2020-02-27T12:33:08.787 回答