Como faço para editar e excluir dados em Django?

votos
5

Estou usando o Django 1.0 e criei meus modelos usando o exemplo no livro Django. Eu sou capaz de executar a função básica de adição de dados; agora eu preciso de uma maneira de recuperar esses dados, carregá-lo em um formulário (change_form ?! ou algo assim), EDITAR -lo e guardá-lo de volta para o DB. Em segundo lugar como faço para APAGAR os dados que está no banco de dados? ou seja, busca, selecione e exclua!

Por favor, mostre-me um exemplo do código que eu preciso para escrever no meu view.pye urls.pypara executar esta tarefa.

Publicado 22/11/2008 em 11:28
fonte usuário
Em outras línguas...                            


3 respostas

votos
21

Digamos que você tenha um modelo empregado. Para editar uma entrada com emp_id chave primária que você faz:

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

excluí-lo apenas fazer:

emp.delete()

assim uma visão completa seria:

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')

Em urls.py você precisa de duas entradas como esta:

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

Eu sugiro que você dê uma olhada nas docs

Respondeu 22/11/2008 em 11:36
fonte usuário

votos
0

Para fazer qualquer um destes você precisa usar algo chamado consultas.

verifique link abaixo para realmente grande documentação sobre isso! ( Https://docs.djangoproject.com/en/2.2/topics/db/queries/ )

Para apagar os dados:

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

Isto irá excluir o objeto do modelo w / um ID de 1

Para editar dados:

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

Isso vai mudar o nome do objeto do modelo w / um ID de 1 a ser Henry

Respondeu 30/07/2019 em 01:01
fonte usuário

votos
-4

Leia a seguinte: O site de administração do Django . Em seguida, rever a sua pergunta com detalhes específicos.

Respondeu 22/11/2008 em 14:32
fonte usuário

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