My apps

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.sites',
    'django.contrib.humanize',
    'app.usuarios',
    'app.general',
    'app.routing',
    'app.sip',
    'app.destinos',
    'app.medios_de_pagos',
    'app.admin_ip',
    'app.reportes',
    'app.notificaciones',
    'app.recarga',
    'app.pbx',
    'app.calling_card',
    'app.campaigns',
    'app.click_to_call',
    'app.at',
    'app.operator_portability',
    'app.apprest',
    # Plugins ##
    'notifications',
    'formtools',
    'tinymce',
    'crispy_forms',
    'two_factor',
    'redisboard',
    'django_tables2',
    'django_otp',
    'django_otp.plugins.otp_static',
    'django_otp.plugins.otp_totp',
    'debug_toolbar.apps.DebugToolbarConfig',
    'django_countries',
    'django_celery_beat',
    'django_extensions',

    'channels',
    'channels.delay'
)

query caching not, only cache normal 

SESSION_ENGINE = 'django.contrib.sessions.backends.cache'


El lunes, 22 de mayo de 2017, 17:40:11 (UTC-5), Jorge Cadena escribió:
>
> Hello.
>
> updating 1.10 to 1.11.1 and get this error:
>
>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/utils/autoreload.py",
>>  
>> line 227, in wrapper
>>     fn(*args, **kwargs)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/channels/management/commands/runserver.py",
>>  
>> line 38, in inner_run
>>     return RunserverCommand.inner_run(self, *args, **options)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/core/management/commands/runserver.py",
>>  
>> line 125, in inner_run
>>     self.check(display_num_errors=True)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/core/management/base.py",
>>  
>> line 359, in check
>>     include_deployment_checks=include_deployment_checks,
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/core/management/base.py",
>>  
>> line 346, in _run_checks
>>     return checks.run_checks(**kwargs)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/core/checks/registry.py",
>>  
>> line 81, in run_checks
>>     new_errors = check(app_configs=app_configs)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/core/checks/urls.py",
>>  
>> line 16, in check_url_config
>>     return check_resolver(resolver)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/core/checks/urls.py",
>>  
>> line 26, in check_resolver
>>     return check_method()
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/urls/resolvers.py", 
>> line 254, in check
>>     for pattern in self.url_patterns:
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/utils/functional.
>>     res = instance.__dict__[self.name] = self.func(instance)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/urls/resolvers.py
>>     patterns = getattr(self.urlconf_module, "urlpatterns", 
>> self.urlconf_module)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/utils/functional.
>>     res = instance.__dict__[self.name] = self.func(instance)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/urls/resolvers.py
>>     return import_module(self.urlconf_name)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/lib/python3.5/importlib/__init__.py", line 126, in import_
>>     return _bootstrap._gcd_import(name[level:], package, level)
>>   File "<frozen importlib._bootstrap>", line 986, in _gcd_import
>>   File "<frozen importlib._bootstrap>", line 969, in _find_and_load
>>   File "<frozen importlib._bootstrap>", line 958, in 
>> _find_and_load_unlocked
>>   File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
>>   File "<frozen importlib._bootstrap_external>", line 673, in exec_module
>>   File "<frozen importlib._bootstrap>", line 222, in 
>> _call_with_frames_removed
>>   File "/home/aztrock/workspace/ariatel.com.co/kibox/billing/urls.py", 
>> line 9, in <module>
>>     from app.usuarios import views as UserViews
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/kibox/app/usuarios/views.py", line 31, in <module>
>>     from .form import (
>>   File "/home/aztrock/workspace/ariatel.com.co/kibox/app/usuarios/form.py", 
>> line 22, in <module>
>>     class UsuarioNuevoForm(forms.ModelForm):
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/forms/models.py",
>>     opts.field_classes)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/forms/models.py",
>>     formfield = f.formfield(**kwargs)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/db/models/fields/
>>     'queryset': self.remote_field.model._default_manager.using(db),
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/db/models/manager
>>     return getattr(self.get_queryset(), name)(*args, **kwargs)
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/db/models/query.p
>>     clone = self._clone()
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/db/models/query.p
>>     query = self.query.clone()
>>   File "/home/aztrock/workspace/
>> ariatel.com.co/local/lib/python3.5/site-packages/django/db/models/sql/que
>>     obj.select_for_update_skip_locked = self.select_for_update_skip_locked
>> AttributeError: 'Query' object has no attribute 
>> 'select_for_update_skip_locked'
>>
>
> models
>
> class Usuarios(AbstractBaseUser, PermissionsMixin):
>>
>     codigo_cliente = models.BigIntegerField(
>>         null=True,
>>         blank=True,
>>     )
>>     first_name = models.CharField(_('Nombres'),
>>                                   max_length=30,
>>                                   help_text="Nombres")
>>     last_name = models.CharField(
>>         _('Apellidos'),
>>         max_length=30,
>>         help_text="Apellidos",
>>         blank=True,
>>         null=True
>>     )
>>     email = models.EmailField(
>>         verbose_name='correo electronico',
>>         max_length=255,
>>         # unique=True,
>>         db_index=True,
>>         help_text=_(
>>             """
>>             Correo electronico valido, para notificaciones,
>>             recuperacion de contraseñas, promociones, avisos
>>             """
>>         )
>>     ) 
>>
> ....
>>
>
>
> forms.py
>
> class UsuarioNuevoForm(forms.ModelForm):
>>
>>     password = 
>> forms.CharField(widget=forms.PasswordInput(render_value=False))
>>     password1 = 
>> forms.CharField(widget=forms.PasswordInput(render_value=False))
>>     observaciones = forms.CharField(
>>         widget=forms.Textarea(attrs={'cols': 80, 'rows': 3}), 
>> required=False
>>     )
>>
>>     class Media:
>>
>>         css = {
>>             "all": ("css/inputTags.min.css", )
>>         }
>>         js = (
>>             'js/plugins/input_tags/InputTags.min.js',
>>         )
>>
>>     class Meta:
>>         model = Usuarios
>>         # fields = ('username', 'email', 'password', 'password1', 'plan', 
>> 'observaciones')
>>         exclude = (
>>             'codigo_unico', 'last_login', 'sub_usuario_grupo', 
>> "plan_sms", 'site', "last_name", "codigo_cliente", "site", "fas"
>>         )
>>
>>     def __init__(self, *args, **kwargs):
>>         # user = kwargs.pop('user', None)
>>         super(UsuarioNuevoForm, self).__init__(*args, **kwargs)
>>         self.fields['username'].widget.attrs.update({'autofocus': 
>> 'autofocus'})
>>
>>         self.helper = FormHelper(self)
>>         self.helper.form_tag = False
>>         self.helper.label_class = 'col-md-2'
>>         self.helper.field_class = 'col-md-10'
>>         self.helper.layout = Layout(
>>             Div(
>>                 Div(
>>                     Div(
>>                         Div(
>>                             Fieldset(
>>                                 "Personal",
>>                                 "username",
>>                                 "password", "password1",
>>                                 "first_name", "email",
>>                                 Field(
>>                                     "routing_rol",
>>                                     css_class="chosen-select",
>>                                     style="width: 240px;",
>>                                     tabindex="3",
>>                                 ),
>>                                 Field(
>>                                     "pais",
>>                                     css_class="chosen-select",
>>                                     style="width: 240px;",
>>                                     tabindex="3",
>>                                 ), "ciudad", "direccion", "movil", 
>> "fijo", "nit_cc"
>>                             )
>>                         ),
>>                         css_class="col-md-6"
>>                     ),
>>                     Div(
>>                         Fieldset(
>>                             "Avanzado",
>>                             "limite_llamadas", "cod_respuesta",
>>                             Field(
>>                                 "tipo_de_visor",
>>                                 css_class="chosen-select",
>>                                 style="width: 240px;",
>>                                 tabindex="3",
>>                             ),
>>                             Field(
>>                                 "metodo_facturacion",
>>                                 css_class="chosen-select",
>>                                 style="width: 240px;",
>>                                 tabindex="3",
>>                             ),
>>                             Field(
>>                                 "rol_group",
>>                                 css_class="chosen-select",
>>                                 style="width: 240px;",
>>                                 tabindex="3",
>>                             ),
>>                             Div(
>>                                 Field("duration_failed_lo"),
>>                                 Field("duration_failed"),
>>                             ),
>>                             "credito_limite",
>>                             "facturacion_tiempo",
>>                             "facturacion_tarificador",
>>                             "base_notificacion",
>>                             "porcentaje_reventa",
>>                             "only_one_call"
>>                         ),
>>                         css_class="col-md-6"
>>                     ),
>>                 ),
>>                 Div(
>>                     Div(
>>                         Div(
>>                             Fieldset(
>>                                 "Notificaciones y facturacion",
>>                                 Field(
>>                                     "ciclo_facturacion",
>>                                     css_class="chosen-select",
>>                                     style="width: 240px;",
>>                                     tabindex="3",
>>                                 ), "adjuntar_cdr_email"
>>                             )
>>                         ),
>>                         css_class="col-md-6"
>>                     ),
>>                     Div(
>>                         Div(
>>                             Fieldset(
>>                                 "Numeros para Tarjetas de Llamadas",
>>                                 Field(
>>                                     "play_audio",
>>                                     css_class="onoffswitch-checkbox",
>>                                     
>> template='crispy_template/checkbox_switch.html',
>>                                 ),
>>                                 Field(
>>                                     "ringback",
>>                                     css_class="onoffswitch-checkbox",
>>                                     
>> template='crispy_template/checkbox_switch.html',
>>                                 ),
>>                                 Field(
>>                                     "ringback_set",
>>                                 ),
>>                                 Field(
>>                                     "numeros",
>>                                     css_class="inputTags-field"
>>                                 )
>>                             )
>>                         ),
>>                         css_class="col-md-6"
>>                     ),
>>                     css_class="col-md-12"
>>                 ),
>>                 HTML("""
>>                     <script>
>>                         $('#id_numeros').inputTags({
>>                             change: function($elem) {
>>                                 console.log('Event called on tag 
>> selection', $elem);
>>                             }
>>                         });
>>                     </script>
>>                 """),
>>                 css_class="row"
>>             )
>>         )
>>
>>         # if user.es_reseller:
>>         #     del self.fields['cod_respuesta']
>>         #     del self.fields['enrutamiento_unico']
>>         #     # del self.helper.layout[0][9]
>>         #     # del self.helper.layout[0][10]
>>         #     # del self.helper.layout[0][3]
>>         #     pass
>>
>>     def clean_email(self):
>>         email = self.cleaned_data['email']
>>         try:
>>             User.objects.get(email=email)
>>         except Exception:
>>             return email.lower()
>>         raise forms.ValidationError("Email ya se encuentra registrado")
>>
>>     def clean_username(self):
>>         username = self.cleaned_data['username']
>>
>>         # Nobre de usuario muy corto
>>         if len(username) <= 5:
>>             raise forms.ValidationError("Nombre de usuario demasiado 
>> Corto")
>>
>>         # Nombre de usuario con espacios.
>>         if re.search('\W', username):
>>             raise forms.ValidationError("Nombre de usuario no debe 
>> contener ningun caracter especial.")
>>
>>         # Nombre de usuario ya existe.
>>         try:
>>             User.objects.get(username=username)
>>         except User.DoesNotExist:
>>             return username
>>
>>         raise forms.ValidationError("Nombre de usuario ya se encuentra 
>> registrado, Seleccionar otro")
>>
>>     def clean_password(self):
>>         if not self.cleaned_data['password']:
>>             raise forms.ValidationError("Este campo es requerido")
>>         return self.cleaned_data['password']
>>
>>     def clean(self):
>>         try:
>>             password = self.cleaned_data['password']
>>         except Exception:
>>             raise forms.ValidationError("Este campo es requerido")
>>         try:
>>             password1 = self.cleaned_data['password1']
>>         except Exception:
>>             raise forms.ValidationError("Este campo es requerido")
>>
>>         if password != password1:
>>             raise forms.ValidationError("Password no son iguales, 
>> intentar de nuevo" + self.cleaned_data['password'])
>>         return self.cleaned_data
>>
>  
>
> and documentation django:
>
> https://docs.djangoproject.com/en/1.11/releases/1.11/#database-backends
> https://docs.djangoproject.com/en/1.11/releases/1.11/#database-backend-api
>
> i'm not sure where config this options.
>
> Thanks
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/a0d942f0-4ed7-4fe4-8a1a-786750504f33%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to