Size: a a a

Django [ru] #STAY HOME

2019 May 04

DT

Dan Tyan in Django [ru] #STAY HOME
а дальше как обычно
./manage.py makemigrations
./manage.py migrate
источник

А

Антон in Django [ru] #STAY HOME
Dan Tyan
заходишь в каждую аппку
там в папку migrations
удаляешь все файлы !!! кроме __init__.py

заходишь в базу удаляешь(дропаешь) все таблицы
pycache  оставить?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
удаляй
источник

DT

Dan Tyan in Django [ru] #STAY HOME
AUTH_USER_MODEL в settings уже должна указывать на твою модель
источник

OV

Olga V 🐉 in Django [ru] #STAY HOME
если база sqlite, можно просто удалить всю базу...
источник

DT

Dan Tyan in Django [ru] #STAY HOME
кстати да =)
источник

А

Антон in Django [ru] #STAY HOME
А как справиться с проблемой когда модель юзера ссылается на модель тарифов, в которой по идее должны предсоздаваться несколько строк. И в юзере по умолчанию стоит значение ИД тарифа)
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Антон
А как справиться с проблемой когда модель юзера ссылается на модель тарифов, в которой по идее должны предсоздаваться несколько строк. И в юзере по умолчанию стоит значение ИД тарифа)
например, в качестве default указываешь функцию, которая get_or_create нужные тебе тарифы
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
функцию указать надо как объект, т.е. без ()
источник

А

Антон in Django [ru] #STAY HOME
Alexander Lebedev
например, в качестве default указываешь функцию, которая get_or_create нужные тебе тарифы
Ошибка выпадает при makemigations. функция поможет?
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Антон
Ошибка выпадает при makemigations. функция поможет?
а ошибка какая?
источник

А

Антон in Django [ru] #STAY HOME
Alexander Lebedev
функцию указать надо как объект, т.е. без ()
то есть как? def foo:
?
источник

А

Антон in Django [ru] #STAY HOME
Alexander Lebedev
а ошибка какая?
django.db.utils.OperationalError: no such table: app_userrate
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Антон
то есть как? def foo:
?
tarif = models.ForeignKey(‘tarifs.Tarif’, default=get_or_create_default_tarif)
источник

А

Антон in Django [ru] #STAY HOME
Alexander Lebedev
tarif = models.ForeignKey(‘tarifs.Tarif’, default=get_or_create_default_tarif)
а, ну так и сделано по сути, только внутри функции безусловно возвращает объект под ИД 1. Как сделать запрос на проверку есть ли оно в базе? или ловить эксепшн?
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Антон
а, ну так и сделано по сути, только внутри функции безусловно возвращает объект под ИД 1. Как сделать запрос на проверку есть ли оно в базе? или ловить эксепшн?
либо ловить DoesNotExits и создавать, либо пользоваться методом
get_or_create
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
я предпочитаю второй способ, так короче
источник

А

Антон in Django [ru] #STAY HOME
Alexander Lebedev
либо ловить DoesNotExits и создавать, либо пользоваться методом
get_or_create
Спасибо!
источник

AL

Alexander Lebedev in Django [ru] #STAY HOME
Антон
Спасибо!
пример на всякий случай
def get_sentinel_request_type():
   """
   Returns `SparePartsRequestType` for normal requests.

   :return: <SparePartsRequestType>
   """
   default_type, __ = SparePartsRequestType.objects. \
       get_or_create(code='NORMAL', defaults={'title': _('Обычный заказ')})
   return default_type.id
источник

А

Антон in Django [ru] #STAY HOME
Alexander Lebedev
пример на всякий случай
def get_sentinel_request_type():
   """
   Returns `SparePartsRequestType` for normal requests.

   :return: <SparePartsRequestType>
   """
   default_type, __ = SparePartsRequestType.objects. \
       get_or_create(code='NORMAL', defaults={'title': _('Обычный заказ')})
   return default_type.id
То есть сначала аргументами обязательные поля, а потом в defaults остальные, правильно?
источник