Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ################################ problemA AL CREAR MODELCHOICEFIELD #######################################
- #######################################################3MODELOS INVOUCRADOS
- class personalu(models.Model):
- """Modelo para la gestión del personal
- perteneciente a la unidad.
- """
- NACIONALIDAD = (('V', 'Venezolano',), ('E', 'Extranjero'))
- ESTADO = (('A', 'Activo'), ('I', 'Inactivo'))
- nac = models.CharField(
- max_length=1,
- choices=NACIONALIDAD,
- default='V',
- verbose_name='Nacionalidad',)
- ci = models.PositiveIntegerField(
- verbose_name='Cedula',
- help_text='Cedula del ciudadano',
- )
- comp = models.PositiveSmallIntegerField(
- verbose_name='Complemento(rif)',
- help_text='Terminal asignado al rif',
- default=0)
- nombre_completo = models.CharField(
- max_length=60,
- help_text='Nombre Completo del Ciudadano')
- unidad = models.ForeignKey(
- 'unidad', on_delete=models.PROTECT,
- verbose_name='Unidad',
- help_text='Unidad a la que pertenece el Usuario')
- estatus = models.CharField(
- max_length=1,
- choices=ESTADO,
- default='A',
- verbose_name='Estatus',
- help_text='Estado del usuario en el sistema')
- # def nombrecompleto(self):
- # cadena="{0}-{1}, {2}-{3}"
- # return cadena.format(self.nac, self.ci, self.nombre_completo, self.estatus)
- def __str__(self):
- # return '%s: %s' % (self.id, self.nombrecompleto)
- # return self.nac + str(self.ci) + '-' +self.nombre_completo
- return self.nombre_completo
- class Meta:
- verbose_name = ('Personal Unidad')
- verbose_name_plural = ('Personal Unidad')
- # db_table = 'unidad'
- class expediente(models.Model):
- numero_catastral = models.CharField(
- max_length=25,
- help_text='Numero Catastral del Expediente')
- nombre_sol = models.ForeignKey(
- 'personalu', on_delete=models.PROTECT,
- verbose_name='Persona Solicitante',
- help_text='Persona que solicita Expediente')
- direccion = models.CharField(
- max_length=100,
- help_text='Direccion del Inmueble')
- nsolicitud = models.CharField(
- max_length=4,
- help_text='4 Ultimos Numeros de la Solicitud')
- # funcionario = models.CharField(
- funcionario = models.ForeignKey(
- 'personalu', on_delete=models.PROTECT,
- related_name='rnfuncionario',
- # max_length=25,
- verbose_name='Funcionario que entrega',
- help_text='Funcionario que Entrega o Recibe el Expediente')
- fecha = models.DateTimeField(
- verbose_name="Último inicio de sesión:",
- default=timezone.now)
- def __str__(self):
- return self.numero_catastral + '->' + str(self.nombre_sol) + '->' + str(self.funcionario) + '->' + str(self.fecha)
- ################################################################## urls
- from django.urls import path
- # from django.contrib.auth.decorators import login_required
- # from django.contrib.auth.views import login
- from django.views.generic import ListView
- from apps.expedientes import views
- from apps.expedientes.models import expediente
- app_name = 'expedientes'
- urlpatterns = [
- path('expedientes_listar', ListView.as_view(
- model=expediente,
- template_name='expediente/expediente_list.html'),
- name='expedientes_listar'),
- path('expedientes_agregar', views.Expediente_agregar.as_view(),
- name='expedientes_agregar'),
- ]
- ################################################### viewsfrom apps.expedientes.forms import ExpedienteForm
- from apps.expedientes.models import expediente
- from django.shortcuts import render
- from django.urls import reverse_lazy
- from django.views.generic import ListView, UpdateView, CreateView, DeleteView, TemplateView, DetailView
- # Create your views here.
- class ExpedienteList(ListView):
- model = expediente
- template_name = 'expediente/expedienteList.html'
- class Expediente_agregar(CreateView):
- model = expediente
- form_class = ExpedienteForm
- template_name = 'expedientes/expediente_agregar.html'
- success_url = reverse_lazy('expedientes:expedientes_listar')
- ##################################################################################3 forms
- from django import forms
- from apps.expedientes.models import expediente, personalu
- class ExpedienteForm(forms.ModelForm):
- class Meta:
- model = expediente
- fields = [
- 'numero_catastral',
- 'nombre_sol',
- 'direccion',
- 'nsolicitud',
- 'funcionario',
- 'fecha',
- ]
- labels = {
- 'numero_catastral': 'Numero Catastral',
- 'nombre_sol': 'Solicitante',
- 'direccion': 'Direccion',
- 'nsolicitud': 'Solicitud',
- 'funcionario': 'Atendido por',
- 'fecha': 'Fecha',
- }
- widgets = {
- 'numero_catastral': forms.TextInput(
- attrs={'class': 'form-control col-md-7 '}),
- 'nombre_sol': forms.TextInput(
- attrs={'class': 'form-control col-md-7 '}),
- # 'nombre_sol': forms.ModelChoiceField(queryset= personalu.objects.all()),
- 'direccion': forms.TextInput(
- attrs={'class': 'form-control col-md-7 '}),
- 'nsolicitud': forms.TextInput(
- attrs={'class': 'form-control col-md-7 '}),
- # 'funcionario': forms.TextInput(
- # attrs={'class': 'form-control col-md-7 '}),
- 'funcionario': forms.ModelChoiceField(
- queryset=personalu.objects.all(),),
- 'fecha': forms.DateInput(
- attrs={'class': 'form-control col-md-7 '}),
- }
Advertisement
Add Comment
Please, Sign In to add comment