1- Очевидно, вы хотите создать «многие ко многим» между Property и Platform, используя сквозную модель как PlatformDevice. Таким образом, в поле m2m необходимо объявить ForeignKey для Platform в PlatformDevice
class PlatformDevice(models.Model):
name = 'Property Specifics'
property_field = models.ForeignKey('Property', on_delete=models.CASCADE)
event_group = models.ManyToManyField('EventGroups', blank=True)
applicable_devices = models.ManyToManyField('Device', blank=True)
platform = models.ForeignKey('Platform', on_delete=models.CASCADE)
Кроме того, у вас нет ForeignKey между Platform и EventGroups.
, поэтому запрос платформы (применимая_платформа) не имеет атрибута ' event_group '
вы можете создать m2m между Property, а с помощью сквозной модели как PlatformDevice
Или 2- вы можете изменить отношение apply_devices и event_group m2m к ForeignKey и создать отношение m2m между Property и Platform с помощью сквозную модель как PlatformDevice и добавьте through_fields = ('event_group', 'Applic_devices') attr к этому m2m
Следующий код предназначен для второго метода
class PlatformDevice(models.Model):
name = 'Property Specifics'
property_field = models.ForeignKey('Property', on_delete=models.CASCADE)
event_group = models.ForeignKey('EventGroups', blank=True, on_delete=models.CASCADE)
applicable_devices = models.ForeignKey('Device', blank=True, on_delete=models.CASCADE)
platform = models.ForeignKey('Platform', on_delete=models.CASCADE)
class Property(models.Model):
name = models.CharField(max_length=255)
applicable_platform = models.ManyToManyField('Platform', through=PlatformDevice,
through_fields = ('event_group', 'applicable_devices')
)
Надеюсь, это поможет вам