Get the list of related objects in Django

8 views
Skip to first unread message

Tessnim Zrayga

unread,
Jan 2, 2019, 5:16:01 AM1/2/19
to Django users

I have 3 models:

class Node(models.Model):
    ID = models.DecimalField(max_digits=19, decimal_places=10)
    name = models.CharField(default='node', max_length=32)
    connexion = models.CharField(max_length=255)
    # Many2one fields | Foreign keys:
    firm = models.ForeignKey('firme.Firme', on_delete=models.CASCADE, null=True, blank=True)


class ScheduledAction(models.Model):
    date = models.DateTimeField(default=datetime.now, blank=True)
    firm = models.ForeignKey('firme.Firme', on_delete=models.CASCADE, null=True, blank=True)
    node_ids = models.ManyToManyField(Node)

I want in ScheduledAction form to show, for a selected firm, the list of its related nodes. Normally I should do this by get:

class ScheduledActionForm(forms.ModelForm):
    date = forms.DateTimeField()
    firm = forms.ModelChoiceField(queryset=Firme.objects.all())
    node_ids = forms.ModelMultipleChoiceField(queryset=Node.objects.get(firm_id=firm.id), widget=forms.CheckboxSelectMultiple)

    class Meta:
        model = ScheduledAction
        fields = [
            'date',
            'firm',
            'node_ids'
        ]

But I got this error:

AttributeError: 'ModelChoiceField' object has no attribute 'id'

How can I fix this?


This is my post in StackOverFlow.

Reply all
Reply to author
Forward
0 new messages