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






Допустим, у вас есть образцовый сотрудник. Чтобы отредактировать запись с первичным ключом 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'),
Предлагаю вам взглянуть на документы
Прочтите следующее: Сайт администратора Django. Затем уточните свой вопрос с конкретными деталями.
эта тема не имеет ничего общего с админкой сайта. он запрашивает метод экземпляра модели (удалить).
@israkir: встроенный сайт администратора Django позволит пользователю удалять экземпляры модели и редактировать данные. Вот что он делает. В теме написано «загрузить его в форму (change_form ?! или что-то еще), ИЗМЕНИТЬ и сохранить обратно в БД». Это то, что делает админка.
Для выполнения любого из этих действий вам нужно использовать так называемые запросы.
проверьте ссылку ниже для действительно отличной документации по этому поводу! (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 на Генри.
Для тех, кто сейчас задается этим вопросом: вместо того, чтобы переходить непосредственно к
request.POST.get, вы определенно захотите использоватьis_valid(). См. Документацию django по валидации ... он довольно обширный и очень хорошо спроектированный.