I have a ManyToMany link and a foreign key that links three objects.
[A]> - <[B]> --- [C]
A can belong to many of B and vice versa. However, A can only belong to B-objects with the same parent C.
I am trying to do something in the clean() method of a model. I am using the Django Rest Framework and no ModelForms or anything like that. I still could not figure it out.
Simplified Code Example
class Device(models.Model): name = models.CharField(max_length=20) projects = models.ManyToManyField(Project, 'devices') details = models.CharField(max_length=200) serial = models.CharField(max_length=20) address models.GenericIPAddressField(default="0.0.0.0") port = models.IntegerField(default=3000) jumpers = models.IntegerField(default=0) install_date = models.DateField(blank=True, null=True) class Project(models.Model): name = models.CharField(max_length=20) description = models.CharField(max_length=250) area = models.ForeignKey(Area) class Area(models.Model): name = models.CharField(max_length=20) description = models.CharField(max_length=250) owner = models.CharField(max_length=20)
serializers
class AreaSerializer(serializers.ModelSerializer): class Meta: model = Area fields = ('name', 'description', 'owner') class ProjectSerializer(serializers.ModelSerializer): class Meta: model = Project fields = ('id', 'name', 'description', 'area') class DeviceSerializer(serializers.ModelSerializer): class Meta: model = Device fields = ('id', 'name', 'projects', 'details', 'serial', 'address', 'port', 'jumpers', 'install_date')
django django-models django-rest-framework
Edward williams
source share