Как я могу отредактировать экземпляр класса Project в оболочке Django после того, как я создал - PullRequest
0 голосов
/ 18 марта 2020

Я создал запись в своей таблице проектов и сохранил ее в базе данных с оболочкой django, но я хочу настроить свою запись после того, как я создал, что мне делать?

>>> p1 = Project(
...     title='My FirstProject',
...     description='Another web development project.',
...     technology='Flask',
...     image='img/project1.png'
... )
>>> p1.save()
>>> p2 = Project(
...     title='My Second Project',
...     description='A final development project.',
...     technology='Django',
...     image='img/project2.png'
... )
>>> p2.save()

Ответы [ 3 ]

1 голос
/ 18 марта 2020

Затем, во-первых, вы должны получить это Project на id и изменить его, как показано ниже ...

proj_obj = Project.objects.get(id=1)
proj_obj.title = `new_title`
proj.obj.save()
0 голосов
/ 18 марта 2020

Вы также можете напрямую update() объекты, не извлекая их:

Project.objects.filter(title='My FirstProject').update(title='My edited first project')

Примечание. Это приведет к обновлению нескольких проектов с одинаковыми заголовками. Вы также можете фильтровать по id, если вы знаете id. Поскольку id уникален, это обновит только один проект.

0 голосов
/ 18 марта 2020

Чтобы получить первый объект, который вы создали в данном примере, вам нужно сначала извлечь этот объект, выполнив следующее (если вы не знаете идентификатор)

p1 = Project.objects.get(title='My FirstProject', description='Another web development project.', technology='Flask', image='img/project1.png')

Если вы знаете идентификатор затем просто сделайте это

p1 = Project.objects.get(id=1)

и затем сделайте все, что вы хотите сделать, например, обновить заголовок:

p1.title = 'My First Project'
p1.save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...