greathector7

model

Dec 15th, 2018
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 5.86 KB | None | 0 0
  1. ################################   problemA AL CREAR MODELCHOICEFIELD     #######################################
  2.  
  3. #######################################################3MODELOS INVOUCRADOS
  4.  
  5.  
  6. class personalu(models.Model):
  7.     """Modelo para la gestión del personal
  8.       perteneciente a la unidad.
  9.    """
  10.     NACIONALIDAD = (('V', 'Venezolano',), ('E', 'Extranjero'))
  11.     ESTADO = (('A', 'Activo'), ('I', 'Inactivo'))
  12.     nac = models.CharField(
  13.         max_length=1,
  14.         choices=NACIONALIDAD,
  15.         default='V',
  16.         verbose_name='Nacionalidad',)
  17.     ci = models.PositiveIntegerField(
  18.         verbose_name='Cedula',
  19.         help_text='Cedula del ciudadano',
  20.         )
  21.     comp = models.PositiveSmallIntegerField(
  22.         verbose_name='Complemento(rif)',
  23.         help_text='Terminal asignado al rif',
  24.         default=0)
  25.     nombre_completo = models.CharField(
  26.         max_length=60,
  27.         help_text='Nombre Completo del Ciudadano')
  28.     unidad = models.ForeignKey(
  29.         'unidad', on_delete=models.PROTECT,
  30.         verbose_name='Unidad',
  31.         help_text='Unidad a la que pertenece el Usuario')
  32.     estatus = models.CharField(
  33.         max_length=1,
  34.         choices=ESTADO,
  35.         default='A',
  36.         verbose_name='Estatus',
  37.         help_text='Estado del usuario en el sistema')
  38.  
  39.     # def nombrecompleto(self):
  40.     #     cadena="{0}-{1}, {2}-{3}"
  41.     #     return cadena.format(self.nac, self.ci, self.nombre_completo, self.estatus)
  42.  
  43.     def __str__(self):
  44.         # return '%s: %s' % (self.id, self.nombrecompleto)
  45.         # return self.nac + str(self.ci) + '-' +self.nombre_completo
  46.         return self.nombre_completo
  47.  
  48.     class Meta:
  49.         verbose_name = ('Personal Unidad')
  50.         verbose_name_plural = ('Personal Unidad')
  51.         # db_table = 'unidad'
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. class expediente(models.Model):
  59.     numero_catastral = models.CharField(
  60.         max_length=25,
  61.         help_text='Numero Catastral del Expediente')
  62.     nombre_sol = models.ForeignKey(
  63.         'personalu', on_delete=models.PROTECT,
  64.         verbose_name='Persona Solicitante',
  65.         help_text='Persona que solicita Expediente')
  66.     direccion = models.CharField(
  67.         max_length=100,
  68.         help_text='Direccion del Inmueble')
  69.     nsolicitud = models.CharField(
  70.         max_length=4,
  71.         help_text='4 Ultimos Numeros de la Solicitud')
  72.     # funcionario = models.CharField(
  73.     funcionario = models.ForeignKey(
  74.         'personalu', on_delete=models.PROTECT,
  75.         related_name='rnfuncionario',
  76.         # max_length=25,
  77.         verbose_name='Funcionario que entrega',
  78.         help_text='Funcionario que Entrega o Recibe el Expediente')
  79.     fecha = models.DateTimeField(
  80.         verbose_name="Último inicio de sesión:",
  81.         default=timezone.now)
  82.  
  83.     def __str__(self):
  84.         return self.numero_catastral + '->' + str(self.nombre_sol) + '->' + str(self.funcionario) + '->' + str(self.fecha)
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92. ##################################################################   urls
  93.  
  94.  
  95. from django.urls import path
  96. # from django.contrib.auth.decorators import login_required
  97. # from django.contrib.auth.views import login
  98. from django.views.generic import ListView
  99. from apps.expedientes import views
  100. from apps.expedientes.models import expediente
  101.  
  102. app_name = 'expedientes'
  103. urlpatterns = [
  104.     path('expedientes_listar', ListView.as_view(
  105.         model=expediente,
  106.         template_name='expediente/expediente_list.html'),
  107.         name='expedientes_listar'),
  108.  
  109.     path('expedientes_agregar', views.Expediente_agregar.as_view(),
  110.          name='expedientes_agregar'),
  111. ]
  112. ###################################################                   viewsfrom apps.expedientes.forms import ExpedienteForm
  113. from apps.expedientes.models import expediente
  114. from django.shortcuts import render
  115. from django.urls import reverse_lazy
  116. from django.views.generic import ListView, UpdateView, CreateView, DeleteView, TemplateView, DetailView
  117. # Create your views here.
  118.  
  119.  
  120. class ExpedienteList(ListView):
  121.     model = expediente
  122.     template_name = 'expediente/expedienteList.html'
  123.  
  124.  
  125. class Expediente_agregar(CreateView):
  126.     model = expediente
  127.     form_class = ExpedienteForm
  128.     template_name = 'expedientes/expediente_agregar.html'
  129.     success_url = reverse_lazy('expedientes:expedientes_listar')
  130.  
  131.  
  132.  
  133. ##################################################################################3    forms
  134.  
  135. from django import forms
  136. from apps.expedientes.models import expediente, personalu
  137.  
  138.  
  139. class ExpedienteForm(forms.ModelForm):
  140.     class Meta:
  141.         model = expediente
  142.         fields = [
  143.             'numero_catastral',
  144.             'nombre_sol',
  145.             'direccion',
  146.             'nsolicitud',
  147.             'funcionario',
  148.             'fecha',
  149.         ]
  150.         labels = {
  151.             'numero_catastral': 'Numero Catastral',
  152.             'nombre_sol': 'Solicitante',
  153.             'direccion': 'Direccion',
  154.             'nsolicitud': 'Solicitud',
  155.             'funcionario': 'Atendido por',
  156.             'fecha': 'Fecha',
  157.         }
  158.         widgets = {
  159.             'numero_catastral': forms.TextInput(
  160.                 attrs={'class': 'form-control col-md-7 '}),
  161.             'nombre_sol': forms.TextInput(
  162.                 attrs={'class': 'form-control col-md-7 '}),
  163.             # 'nombre_sol': forms.ModelChoiceField(queryset= personalu.objects.all()),
  164.             'direccion': forms.TextInput(
  165.                 attrs={'class': 'form-control col-md-7 '}),
  166.             'nsolicitud': forms.TextInput(
  167.                 attrs={'class': 'form-control col-md-7 '}),
  168.             # 'funcionario': forms.TextInput(
  169.             #     attrs={'class': 'form-control col-md-7 '}),
  170.             'funcionario': forms.ModelChoiceField(
  171.                 queryset=personalu.objects.all(),),
  172.             'fecha': forms.DateInput(
  173.                 attrs={'class': 'form-control col-md-7 '}),
  174.         }
Advertisement
Add Comment
Please, Sign In to add comment