Невозможно назначить должен быть "" экземпляр - PullRequest
0 голосов
/ 07 февраля 2020

Я работаю над своим первым django проектом, и я получил эту ошибку (Невозможно назначить «433245675»: «Lockers.locker_id» должен быть экземпляром «Renters»). Любой, кто здесь, может помочь мне в просьбах.

просмотров:

def adding_renter(request):
    form_data = forms.AddingRenter(request.POST or None)
    msg = ''
    if form_data.is_valid():
        renters = models.Renters()
        renters.renter_id = form_data.cleaned_data['renter_id']
        renters.renter_name = form_data.cleaned_data['renter_name']
        renters.renter_email = form_data.cleaned_data['renter_email']
        renters.renter_phone_number = form_data.cleaned_data['renter_phone_number']
        renters.renting_start_date = form_data.cleaned_data['renting_start_date']
        renters.renting_end_date = form_data.cleaned_data['renting_end_date']
        renters.save()
        msg = 'Renter has been added successfully'
    context = {
        'form': form_data,
        'msg': msg
    }
    return rend

er (запрос, 'addrenter. html', контекст)

def adding_locker(request):
    form_data = forms.AddingLocker(request.POST or None)
    msg = ''
    if form_data.is_valid():
        lockers = models.Lockers()
        lockers.locker_id = form_data.cleaned_data['locker_id']
        lockers.locker_number = form_data.cleaned_data['locker_number']
        lockers.locker_information = form_data.cleaned_data['locker_information']
        lockers.locker_status = form_data.cleaned_data['locker_status']
        lockers.locker_notes = form_data.cleaned_data['locker_notes']
        lockers.save()
        msg = 'Locker has been added successfully'
    context = {
        'form': form_data,
        'msg': msg
    }
    return render(request, 'addinglocker.html', context)

1 Ответ

0 голосов
/ 21 февраля 2020

Полагаю, у вас есть поле с именем locker_id. В этом случае поле фактического идентификатора называется locker_id_id. Поэтому попробуйте использовать:

lockers.locker_id_id = form_data.cleaned_data['locker_id']

Хотя из-за вашей ошибки кажется, что ваша модель определяется как:

class Renters(models.Model):
    ...

class Lockers(models.Model):
    locker_id = models.ForeignKey(Renters)

Вместо этого должно быть:

class Renter(models.Model): # Models should be singular
    ...

class Locker(models.Model):
    renter = models.ForeignKey(Renter)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...