django get_or_create сохраняет данные в скобках - PullRequest
0 голосов
/ 27 сентября 2019

Я использую django get_or_create для сохранения данных в postgres.Код работает нормально, но поле itemgrp1hd сохраняет как ('Mobile 5010',) , пока я только кормлю Mobile 5010 .Может кто-нибудь объяснить, почему круглые скобки и одинарные кавычки появляются при сохранении в postgres.

Код такой, как показано ниже:

@api_view(['GET', 'POST', 'PUT', 'DELETE'])
def Post_Items_Axios(request):

    data_itemfullhd = request.data['Item Name']
    data_itemgrp1hd = request.data['Item Group1']

    td_items, created = Md_Items.objects.get_or_create(
        cunqid = entity_unqid,
        itemfullhd = data_itemfullhd,
        # defaults = dict(
        #   itemgrp1hd = data_itemgrp1hd,
        #   )
        )

    # type(request.data['Item Group1']) 
    # <class 'str'>
    td_items.itemgrp1hd = data_itemgrp1hd,

    td_items.save()

    data = {'data_itemfullhd': data_itemfullhd}
    return Response(data)

1 Ответ

0 голосов
/ 27 сентября 2019

Вы должны удалить запятую в конце (или около того, как я на мобильном телефоне) строки 15.

Изменить '' 'td_items.itemgrp1hd = data_itemgrp1hd, td_items.save ()' ''

Кому

'' 'td_items.itemgrp1hd = data_itemgrp1hd td_items.save ()' ''

Наличие запятой в конце говорит Python, что вы хотите сохранить Это вкортеж.

Смотрите этот вопрос здесь, чтобы узнать больше о запятых и кортежах.

Какое правило синтаксиса для использования запятых в определениях кортежей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...