Как редактировать и удалять данные в Django?

голоса
5

Я использую Django 1.0 и я создал свои модели , используя в качестве примера в книге Django. Я в состоянии выполнять основную функцию добавления данных; Теперь мне нужен способ получения этих данных, загружая его в форму (change_form ?! или что - то), РЕДАКТИРОВАТЬ и сохранить его обратно в БД. Во- вторых , как я УДАЛИТЬ данные , что есть в БД? то есть поиск, выберите , а затем удалить!

Пожалуйста , покажите мне пример кода мне нужно написать на моем view.pyи urls.pyдля выполнения этой задачи.

Задан 22/11/2008 в 11:28
источник пользователем
На других языках...                            


3 ответов

голоса
21

Скажем, у вас есть модель Employee. Чтобы изменить запись с первичным ключом emp_id вы делаете:

emp = Employee.objects.get(pk = emp_id)
emp.name = 'Somename'
emp.save()

удалить это просто сделать:

emp.delete()

поэтому полное представление будет:

def update(request, id):
   emp = Employee.objects.get(pk = id)
   #you can do this for as many fields as you like
   #here I asume you had a form with input like <input type="text" name="name"/>
   #so it's basically like that for all form fields
   emp.name = request.POST.get('name')
   emp.save()
   return HttpResponse('updated')

def delete(request, id):
   emp = Employee.objects.get(pk = id)
   emp.delete()
   return HttpResponse('deleted')

В urls.py вам потребуется две записи, как это:

(r'^delete/(\d+)/$','myproject.myapp.views.delete'),
(r'^update/(\d+)/$','myproject.myapp.views.update'),

Я предлагаю вам взглянуть на документы

Ответил 22/11/2008 в 11:36
источник пользователем

голоса
0

Для того, чтобы сделать что-либо из них вы должны использовать то, что называется запросы.

проверить ссылку ниже для действительно большой документации на что! ( Https://docs.djangoproject.com/en/2.2/topics/db/queries/ )

Удаление данных:

b = ModelName.objects.get(id = 1)
b.delete()

Это приведет к удалению объекта модели ж / идентификатор 1

Для редактирования данных:

b = ModelName.objects.get(id = 1)
b.name = 'Henry'
b.save()

Это изменит имя объекта модели ж / идентификатор 1, чтобы быть Генри

Ответил 30/07/2019 в 01:01
источник пользователем

голоса
-4

Прочитайте следующее: админ сайта Django . Затем пересмотреть свой вопрос с конкретными деталями.

Ответил 22/11/2008 в 14:32
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more