Подсказка типа 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:

В целом, этот паттерн используется с классами, я предлагаю вам прочитать больше об этом, чтобы знать, как вы можете реализовать его без каких-либо проблем

проблемы Я имею в виду, если вы хотите отредактировать свой код в будущем или изменить некоторые вещи в ваших классах

Вернуться на верх