DRF Serializer содержит поле группы и инвентаря, в котором находятся многие2many и внешний ключ. Он отсутствует в стандартной форме DRF HTML, но доступен в представлении GET. в настоящее время поле глубины включено в Serializer. Если я удаляю глубину, тогда Внешний ключ доступен в форме HTML по умолчанию, но поле group2many все еще отсутствует. Мне нужны оба поля для вызова POST или в форме DRF HTML.
Нужно ли мне писать какой-то метод create, но я не хочу создавать новую запись для внешнего ключа, а many2many просто хочет использовать существующее поле.
Класс My Serializer.
class MainHostSerializer(serializers.ModelSerializer):
class Meta:
model = MainHost
fields = (
'host_id',
'host_name',
'inventory',
'group'
)
# depth = 2
Необработанное представление по умолчанию DRF HTML Форма
{
"host_id": null,
"host_name": ""
}
Класс модели
class MainHost(models.Model):
host_id = models.IntegerField(verbose_name='HOST ID', primary_key=True)
host_name = models.CharField(verbose_name='HOST NAME', max_length=512)
inventory = models.ForeignKey(related_name='inv_ins', on_delete=models.SET_NULL, to='hosts.MainInventory', blank=True, null=True)
group = models.ManyToManyField(MainGroup, related_name='hostgroups', through ='HostGroup')