Size: a a a

Django [ru] #STAY HOME

2019 December 27

M

Mike in Django [ru] #STAY HOME
Dan Tyan
ты ошибку то исправил ?
Нет, я получаю что должен быть instance
источник

M

Mike in Django [ru] #STAY HOME
Dan Tyan
ты ошибку то исправил ?
"Screenshot.feedback" must be a "Feedback" instance.
источник

DT

Dan Tyan in Django [ru] #STAY HOME
ну ты понял почему ошибка ?
источник

M

Mike in Django [ru] #STAY HOME
Dan Tyan
ну ты понял почему ошибка ?
ну мне нужно feedback сделать моделью а не сериалайзером
источник

DT

Dan Tyan in Django [ru] #STAY HOME
Mike
ну мне нужно feedback сделать моделью а не сериалайзером
подсказка

метод save() сериализатора
возвращает объект модели
источник

M

Mike in Django [ru] #STAY HOME
Dan Tyan
подсказка

метод save() сериализатора
возвращает объект модели
так     feedback = Feedback(user_id=request.user.pk)
источник

DT

Dan Tyan in Django [ru] #STAY HOME
зачем ?
источник

DT

Dan Tyan in Django [ru] #STAY HOME
у тебя уже есть сохранения feedback
источник

MM

Max Molchanov in Django [ru] #STAY HOME
feedback_instance = feedback.save()
источник

M

Mike in Django [ru] #STAY HOME
Max Molchanov
feedback_instance = feedback.save()
не совсем понимаю. Сейчас я имею это
@api_view(['POST'])
def feedback(request):

   feedback = FeedbackSerializer(data=request.data)

   if feedback.is_valid():
       feedback.save()

   serializer = ScreenshotSerializer(request.FILES)

   for x in request.FILES.getlist('files'):
       data = x.read()
       photo = Screenshot(feedback=feedback)
       photo.image.save(x.name, ContentFile(data))
       photo.save()

   return Response('Hello world')
источник

MM

Max Molchanov in Django [ru] #STAY HOME
feedback это серилайзер у тебя.
feedback.save() метод, который создает объект модели и возвращает созданный объект модели
источник

MM

Max Molchanov in Django [ru] #STAY HOME
Можно попробовать результат метода save() присвоить в переменную
источник

M

Mike in Django [ru] #STAY HOME
Max Molchanov
feedback это серилайзер у тебя.
feedback.save() метод, который создает объект модели и возвращает созданный объект модели
if feedback.is_valid():
       feedback_result = feedback.save()
источник

MM

Max Molchanov in Django [ru] #STAY HOME
Может можно без присвоения в переменную получить созданный объект модели, обратившись так photo = Screenshot(feedback=feedback.instance)
источник

M

Mike in Django [ru] #STAY HOME
Max Molchanov
Может можно без присвоения в переменную получить созданный объект модели, обратившись так photo = Screenshot(feedback=feedback.instance)
AttributeError: 'Feedback' object has no attribute 'instance'
источник

M

Mike in Django [ru] #STAY HOME
Max Molchanov
Может можно без присвоения в переменную получить созданный объект модели, обратившись так photo = Screenshot(feedback=feedback.instance)
@api_view(['POST'])
def feedback(request):

   feedback = FeedbackSerializer(data=request.data)

   if feedback.is_valid():
       feedback = feedback.save()

   serializer = ScreenshotSerializer(request.FILES)

   for x in request.FILES.getlist('files'):
       data = x.read()
       photo = Screenshot(feedback=feedback.instance)
       photo.image.save(x.name, ContentFile(data))
       photo.save()

   return Response('Hello world')
источник

MM

Max Molchanov in Django [ru] #STAY HOME
Ну сейчас ты переопределил значение переменной
источник

MM

Max Molchanov in Django [ru] #STAY HOME
feedback = feedback.save()
источник

MM

Max Molchanov in Django [ru] #STAY HOME
На данный момент у тебя уже в feedback находится instance, грубо говоря
источник

M

Mike in Django [ru] #STAY HOME
вроде с присваиванием переменной что то получилось, Щас секунду, ошибки не получил никакой , щас проверю
источник