Подсказка типа Django для объекта модели (одиночный)
Я ищу подсказку типа для класса экземпляра объекта модели:
>>> Device.objects.get(pk=31)
<Device: Device object (31)>
>>> device = Device.objects.get(pk=31)
>>> type(device)
<class 'inventory.models.Device'>
Я буду передавать вышеприведенные данные в функцию, которая будет выполнять некоторые действия, но я не могу понять, что использовать для объекта устройства в функции, где будет происходить подсказка типов?
def do_something(device: ???) -> bool:
if device.id:
some_logic
return True
Вы можете ссылаться на тип как таковой
from inventory.models import Device
def do_something(device: Device) -> bool:
# IDE will pick up attributes/methods linked to the model Device
if device.id:
some_logic
return True
что вы хотите - это инверсия зависимости, вы можете передавать данные, как @Mike Jones сказал
def do_something(device: Device) -> bool:
В целом, этот паттерн используется с классами, я предлагаю вам прочитать больше об этом, чтобы знать, как вы можете реализовать его без каких-либо проблем
проблемы Я имею в виду, если вы хотите отредактировать свой код в будущем или изменить некоторые вещи в ваших классах