как сохранить модель, содержащую ссылочный ForeignKey из формы - PullRequest
0 голосов
/ 16 марта 2020

Я новичок в django ... У меня есть модель с полем для самостоятельной ссылки, и я хочу получить эту модель из формы. но эта самоссылка не имеет значения! что мне делать?!

models.py

class agents(models.Model):
    name = models.CharField(max_length=100)
    address = models.TextField(blank=True, null=True)
    phone = models.CharField(max_length=20)
    is_producer = models.BooleanField(default=False)
    serial = models.TextField(default='')
    users = models.ManyToManyField(user_models.users, through='user_agent')

    def __str__(self):
        return self.name

    def get_absolute_url(self):
        return reverse('agent_detail', args=[str(self.id)])


class user_agent(models.Model):
    user = models.ForeignKey(user_models.users, on_delete=models.CASCADE)
    agent = models.ForeignKey(agents, on_delete=models.CASCADE)
    parent = models.ForeignKey("self", on_delete=models.CASCADE)

forms.py

class AgentSignUpForm(forms.ModelForm):

    class Meta:
        model = models.agents
        fields = ('name',
                  'address',
                  'phone',
                  'is_producer',
                  'serial',
                  'users',
                  )

views.py

@login_required
def agent_register(request):
    if request.method == 'POST':
        form = forms.AgentSignUpForm(request.POST)
        if form.is_valid():
            agent = form.save(commit=False)
            agent.save()
            form.save_m2m()
            return redirect('agent_list')
    else:
        form = forms.AgentSignUpForm()
    return render(request, 'agent/signup.html', {'form': form})
...