crud basado en clases
Publicado por Max (7 intervenciones) el 01/02/2019 21:23:05
Eliminar y editar registros usando las clases deleteview y updateview aparecen en la web y todas explican con el mismo ejemplo. el cual funciona, pero siempre que el modelo te genere el id de forma automatica, entonces en las url se usa <pk> y este logra encontar el registro a borrar o editar. Pero si mi modelo ya tiene definida la clave no hay forma de que funcione, ¿ALGUIEN SABE O PUEDE DAR UNA PISTA DE COMO HACER?
MI MODELO 8QUE NO GENERA EL ID DE FORMA AUTOMATICA ES:
modelo:
la vista es de lo mas sencilla:
la url es
el html o template es
el error es
Reverse for 'general_borrar' with arguments '('3.1',)' not found. 1 pattern(s) tried: ['cat/z(?P<pk>\\d+)/$']
¿¿¿ALGUIEN HA USADO ESTAS CLASES, TENIENDO UN PRIMARYKEY PROPIO Y QUE FUNCIONE???
MI MODELO 8QUE NO GENERA EL ID DE FORMA AUTOMATICA ES:
modelo:
1
2
3
4
5
class General(models.Model):
#id_general = models.AutoField(primary_key=True) (ESTE NO VA, LO PUSE PARA MOSTAR LO QUE QUIERO)
item_general = models.CharField(primary_key=True, max_length=20)
general = models.CharField(max_length=50)
avance_general = models.FloatField(default =0)
la vista es de lo mas sencilla:
1
2
3
4
5
6
7
8
9
10
11
12
class GeneralDelete(DeleteView):
model = General
template_name = 'general_delete.html'
success_url = reverse_lazy('general_listar')
class GeneralList(LoginRequiredMixin, ListView):
login_url = '/'
redirect_field_name = '/'
model = General
template_name = 'general_list.html'
#paginate_by = 20
print("printing a message...")
la url es
1
2
url(r'^general/', GeneralList.as_view(), name='general_listar'),
url(r'^z(?P<pk>\d+)/$', GeneralDelete.as_view(), name='general_borrar'),
el html o template es
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{% if object_list %}
{% for generales in object_list %}
<tr>
<td> {{generales.item_general}}</td>
<td> {{generales.general}} </td>
<td> {{generales.avance_general}}</td>
<td> <a class="btn btn-danger btn-xs" href="{% url 'general_borrar' generales.item_general %}">Eliminar</a></td>
</tr>
{% endfor %}
{% else %}
<tr>
<!-- No hay Propiedades que mostrar, Adicione una. Pulsando -->
{% endif %}
el error es
Reverse for 'general_borrar' with arguments '('3.1',)' not found. 1 pattern(s) tried: ['cat/z(?P<pk>\\d+)/$']
¿¿¿ALGUIEN HA USADO ESTAS CLASES, TENIENDO UN PRIMARYKEY PROPIO Y QUE FUNCIONE???
Valora esta pregunta


0