Size: a a a

Django [ru] #STAY HOME

2020 June 25

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Но вообще связывать через строки советует джанго в таком случае
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
tot samiy neizvestniy
Зачастую это значит, что что-то с архитектурой
да нет, просто django вообще не думать о typings, а при них циклические импорты так и так будут происходить
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
tot samiy neizvestniy
Но вообще связывать через строки советует джанго в таком случае
это же метод, не ForeignKey
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Muslim Beibytuly
это же метод, не ForeignKey
Ой, да..
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Да, лучше lazy import😉
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Muslim Beibytuly
так, есть несколько годных хаков:D
1) локальные импорты, это не совсем хорошо, но работать будет
2) django сам уже давно заметил этот косяк и использует app registry чтобы разрешать подобные импорты моделей через:
from django.apps import apps
apps.get_model(app_label='ваш app', model_name='название модели')
это ленивый импорт, так что циклических ошибок не будет, так как модель не импортируется вообще внутри файла. Это рекомендуемый способ
а локальные импорты это типа фром .файл импорт модель?
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Nikolay Cherniy
а локальные импорты это типа фром .файл импорт модель?
тот же импорт, просто внутри тела метода
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Muslim Beibytuly
тот же импорт, просто внутри тела метода
о, понял, спасибо) ну буду делать как правильно, но хорошо оба варианта знать)
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Nikolay Cherniy
о, понял, спасибо) ну буду делать как правильно, но хорошо оба варианта знать)
увы, очень жду что django решит проблему нормально, но кажись там все до последнего отрицают такие косяки и очень уж не хотят их решать:D
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
tot samiy neizvestniy
Зачастую это значит, что что-то с архитектурой
Там с архитектурой 8 лет как полный писец и точно я ничего не поменяю)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Muslim Beibytuly
увы, очень жду что django решит проблему нормально, но кажись там все до последнего отрицают такие косяки и очень уж не хотят их решать:D
не вышло, пишет AppRegistryNotReady("Models aren't loaded yet.") django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Nikolay Cherniy
не вышло, пишет AppRegistryNotReady("Models aren't loaded yet.") django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.
внутри метода?
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Muslim Beibytuly
внутри метода?
хм, я не понял что по второму варианту нужно тоже внутри метода импортировать, пойду пробовать)
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Nikolay Cherniy
хм, я не понял что по второму варианту нужно тоже внутри метода импортировать, пойду пробовать)
вне - этот импорт сломается в любом случае
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Понял, спасибо)
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Nikolay Cherniy
Понял, спасибо)
from django.apps import apps

class Bla(models.Model):
   def lol(self):
       apps.get_model(<needed_args>)
источник

NC

Nikolay Cherniy in Django [ru] #STAY HOME
Muslim Beibytuly
from django.apps import apps

class Bla(models.Model):
   def lol(self):
       apps.get_model(<needed_args>)
Все разрулил, спасибо огромное!
источник

MB

Muslim Beibytuly in Django [ru] #STAY HOME
Nikolay Cherniy
Все разрулил, спасибо огромное!
источник

A

Alexey in Django [ru] #STAY HOME
Подскажите, если я в текстовом поле в модели не указывал null=True, то значение поля никогда не будет пустым? Проверяю пустое поле на User.field == '', но выдаёт False
источник

3_

3ANov _ in Django [ru] #STAY HOME
Alexey
Подскажите, если я в текстовом поле в модели не указывал null=True, то значение поля никогда не будет пустым? Проверяю пустое поле на User.field == '', но выдаёт False
https://djbook.ru/rel1.9/ref/models/fields.html null это null - а пустая строка это пустая строка )
источник