Size: a a a

Django [ru] #STAY HOME

2019 February 20

N

Nazar in Django [ru] #STAY HOME
Anatoly
Всем привет

Как лучше реализовать функционал, когда на POST запрос создания объекта будет возвращаться уже существующий, если он существует. И при этом никаких изменений в существующем объекте производится не должно

В какую часть джанги это лучше поместить?
Если делать через ModelManager.create, то никаких проблем с этим не будет?
Могу ошибаться, конечно, но ты имеешь в виду что-то около get_or_create?
источник

A

Anatoly in Django [ru] #STAY HOME
Nazar
Могу ошибаться, конечно, но ты имеешь в виду что-то около get_or_create?
Да, но вопрос в том куда это поместить, чтобы ничего не сломалось.
источник

ZR

Zi Roni in Django [ru] #STAY HOME
Есть кто использовал social_django с фронтом отдельно от бэка?
источник

PB

Petr B. in Django [ru] #STAY HOME
Конкретно в чем вопрос-то?
источник

🤔

🤔 in Django [ru] #STAY HOME
Anatoly
Да, но вопрос в том куда это поместить, чтобы ничего не сломалось.
Переписать create?
источник

🤔

🤔 in Django [ru] #STAY HOME
Или переписать post
источник

VT

Vlad Tokarev in Django [ru] #STAY HOME
Как вариант натравить post на retrieve mlixin, переопределив метод get_object у дженериквью, таким образом, чтобы он создавал обьект при его отсутствии
источник

VT

Vlad Tokarev in Django [ru] #STAY HOME
1) Унаследовать свое вью от:
а) mixins.RetrieveModelMixin
б) GenericAPIView

2) Написать в своем вью:
 а)  def post(self, request, *args, **kwargs):
       return self.retrieve(request, *args, **kwargs)
б) def get_object(self):
        тут get_or_create использовать при извлечении объекта
источник

A

Anatoly in Django [ru] #STAY HOME
Vlad Tokarev
1) Унаследовать свое вью от:
а) mixins.RetrieveModelMixin
б) GenericAPIView

2) Написать в своем вью:
 а)  def post(self, request, *args, **kwargs):
       return self.retrieve(request, *args, **kwargs)
б) def get_object(self):
        тут get_or_create использовать при извлечении объекта
Спасибо
источник

D

Dmitry in Django [ru] #STAY HOME
а мне кажется если это create миксин, то лушче в perform_create записать логику, типа if obj.get_or_create и сериализовать этот объект сразу в респонс. Но конечно это дичь в любом случае
источник

VT

Vlad Tokarev in Django [ru] #STAY HOME
перфом криэт не возвращает респонз
источник

A

Anatoly in Django [ru] #STAY HOME
Dmitry
а мне кажется если это create миксин, то лушче в perform_create записать логику, типа if obj.get_or_create и сериализовать этот объект сразу в респонс. Но конечно это дичь в любом случае
А как не дичь, кроме разделения на два эндпоинта?
источник

dk

dmytro kovalenko in Django [ru] #STAY HOME
Такой нестандартный вопрос.
По гуглмапс геопозиции.
Какое число выражает 1м в lat коде?
0.009 это где-то 1км, как узнать 1м? кроме как поделить
источник

VT

Vlad Tokarev in Django [ru] #STAY HOME
Да нормальное решение. Почему дичь
источник

D

Dmitry in Django [ru] #STAY HOME
dmytro kovalenko
Такой нестандартный вопрос.
По гуглмапс геопозиции.
Какое число выражает 1м в lat коде?
0.009 это где-то 1км, как узнать 1м? кроме как поделить
тут всё не так просто, если я правильно понимаю ваш вопрос
источник

VT

Vlad Tokarev in Django [ru] #STAY HOME
два эндпоинта это точно дичь
источник

D

Dmitry in Django [ru] #STAY HOME
1 градус может значить разное количество метров, в зависимости от близости к экватору
источник

VT

Vlad Tokarev in Django [ru] #STAY HOME
даже три будет если яростно на чистый рэст молится
источник

ZR

Zi Roni in Django [ru] #STAY HOME
Какой либе под джанго можно без особых танцев с бубном скормить фейсбуковский acces-token and UserID и получить в ответ юзера, авторизированого в системе?
источник

D

Dmitry in Django [ru] #STAY HOME
Zi Roni
Какой либе под джанго можно без особых танцев с бубном скормить фейсбуковский acces-token and UserID и получить в ответ юзера, авторизированого в системе?
https://github.com/RealmTeam/django-rest-framework-social-oauth2
похоже на это, сам буквально пару часов пробовал её и не более
источник