Как получить доступ к полю из ForeignKey в Queryset в django?
Это мой models.py:
class Computer(models.Model):
name = models.CharField(max_length=40)
ip = models.GenericIPAddressField(blank=True, null=True, unique=True)
class Template(models.Model):
data = models.JSONField(...)
computer = models.ForeignKey(Computer,on_delete=models.CASCADE)
Когда я удаляю объект шаблона, из админки django, мне нужно сделать запрос API, поэтому я отредактировал метод delete(). Это работает нормально. Но это не работает для опции множественного удаления в django admin. Я уже знаю, что мне нужно отредактировать delete_queryset() в admin.py.
Мне нужно знать, как получить поле IP из Computer из кверисета, который возвращает метод delete_queryset().
Когда я делаю следующее в файле admin.py:
class TemplateAdmin(admin.ModelAdmin):
def delete_queryset(self,request,queryset):
print(queryset)
print(queryset.values('computer'))
...
Когда я пытаюсь удалить несколько объектов шаблона (A, B и C).
Я получаю следующий ответ:
<QuerySet [<Template: A>, Template: B>, Template: C>]>
<QuerySet [{'computer': 22}, {'computer': 21}, {'computer': 21}]>
22 и 21 - это идентификаторы компьютера, на которые ссылается ForeignKey в A, B и C.
Вопрос в том, как мне получить доступ к полю IP с этих компьютеров, чтобы я мог сделать запрос API в методе delete_queryset()?