Multiples zones par user implémenté
[auf_rh_dae.git] / project / rh / migrations / 0039_copier_zones_profile.py
1 # -*- coding: utf-8 -*-
2 import datetime
3 from south.db import db
4 from south.v2 import DataMigration
5 from django.db import models
6
7 class Migration(DataMigration):
8
9 def forwards(self, orm):
10 "Write your forwards methods here."
11 for empl in orm['references.employe'].objects.all():
12 try:
13 users = orm['auth.user'].objects.filter(email=empl.courriel)
14 except orm['auth.user'].DoesNotExist:
15 pass
16 else:
17 for u in users:
18 if orm['rh.userprofile'].objects.filter(
19 user=u).count() == 0:
20 pr = orm['rh.userprofile'].objects.create(
21 user=u)
22 pr.zones_administratives.add(empl.implantation.zone_administrative)
23
24 def backwards(self, orm):
25 "Write your backwards methods here."
26 if raw_input('Ceci ca effacer les associations '
27 'd\'utilisateurs avec leurs zones '
28 'administratives. Confirmer en appuyant sur '
29 'O et "Enter"') != 'O':
30 raise Exception('Unable to complete migration')
31
32 models = {
33 'auth.group': {
34 'Meta': {'object_name': 'Group'},
35 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
36 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
37 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
38 },
39 'auth.permission': {
40 'Meta': {'ordering': "('content_type__app_label', 'content_type__model', 'codename')", 'unique_together': "(('content_type', 'codename'),)", 'object_name': 'Permission'},
41 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
42 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}),
43 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
44 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
45 },
46 'auth.user': {
47 'Meta': {'object_name': 'User'},
48 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
49 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
50 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
51 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
52 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
53 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
54 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
55 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
56 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
57 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
58 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
59 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
60 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
61 },
62 'contenttypes.contenttype': {
63 'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
64 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
65 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
66 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
67 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
68 },
69 'references.bureau': {
70 'Meta': {'ordering': "['nom']", 'object_name': 'Bureau', 'db_table': "u'ref_bureau'", 'managed': 'False'},
71 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
72 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
73 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
74 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.Implantation']", 'db_column': "'implantation'"}),
75 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
76 'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
77 'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
78 'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.Region']", 'db_column': "'region'"})
79 },
80 'references.implantation': {
81 'Meta': {'ordering': "['nom']", 'object_name': 'Implantation', 'db_table': "u'ref_implantation'", 'managed': 'False'},
82 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
83 'adresse_physique_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
84 'adresse_physique_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
85 'adresse_physique_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
86 'adresse_physique_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
87 'adresse_physique_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_physique'", 'to_field': "'code'", 'db_column': "'adresse_physique_pays'", 'to': "orm['references.Pays']"}),
88 'adresse_physique_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
89 'adresse_physique_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
90 'adresse_physique_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
91 'adresse_physique_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
92 'adresse_physique_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
93 'adresse_postale_boite_postale': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
94 'adresse_postale_bureau': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
95 'adresse_postale_code_postal': ('django.db.models.fields.CharField', [], {'max_length': '20', 'null': 'True', 'blank': 'True'}),
96 'adresse_postale_code_postal_avant_ville': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
97 'adresse_postale_no': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}),
98 'adresse_postale_pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'impl_adresse_postale'", 'to_field': "'code'", 'db_column': "'adresse_postale_pays'", 'to': "orm['references.Pays']"}),
99 'adresse_postale_precision': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
100 'adresse_postale_precision_avant': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
101 'adresse_postale_region': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
102 'adresse_postale_rue': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
103 'adresse_postale_ville': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
104 'bureau_rattachement': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.Implantation']", 'db_column': "'bureau_rattachement'"}),
105 'code_meteo': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
106 'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
107 'courriel': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
108 'courriel_interne': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
109 'date_extension': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
110 'date_fermeture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
111 'date_inauguration': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
112 'date_ouverture': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
113 'fax': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
114 'fax_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
115 'fuseau_horaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
116 'hebergement_convention': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
117 'hebergement_convention_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
118 'hebergement_etablissement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
119 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
120 'modif_date': ('django.db.models.fields.DateField', [], {}),
121 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
122 'nom_court': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
123 'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
124 'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.Region']", 'db_column': "'region'"}),
125 'remarque': ('django.db.models.fields.TextField', [], {}),
126 'responsable_implantation': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
127 'statut': ('django.db.models.fields.IntegerField', [], {}),
128 'telephone': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
129 'telephone_interne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
130 'type': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
131 'url': ('django.db.models.fields.URLField', [], {'max_length': '255', 'blank': 'True'}),
132 'zone_administrative': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.ZoneAdministrative']"})
133 },
134 'references.pays': {
135 'Meta': {'ordering': "['nom']", 'object_name': 'Pays', 'db_table': "u'ref_pays'", 'managed': 'False'},
136 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
137 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '2'}),
138 'code_bureau': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.Bureau']", 'to_field': "'code'", 'null': 'True', 'db_column': "'code_bureau'", 'blank': 'True'}),
139 'code_iso3': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '3'}),
140 'developpement': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
141 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
142 'monnaie': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
143 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
144 'nord_sud': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
145 'region': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['references.Region']", 'db_column': "'region'"})
146 },
147 'references.region': {
148 'Meta': {'ordering': "['nom']", 'object_name': 'Region', 'db_table': "u'ref_region'", 'managed': 'False'},
149 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
150 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
151 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
152 'implantation_bureau': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'gere_region'", 'null': 'True', 'db_column': "'implantation_bureau'", 'to': "orm['references.Implantation']"}),
153 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'})
154 },
155 'references.zoneadministrative': {
156 'Meta': {'ordering': "['nom']", 'object_name': 'ZoneAdministrative', 'db_table': "'ref_zoneadministrative'", 'managed': 'False'},
157 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
158 'code': ('django.db.models.fields.CharField', [], {'max_length': '4', 'primary_key': 'True'}),
159 'nom': ('django.db.models.fields.CharField', [], {'max_length': '100'})
160 },
161 'reversion.revision': {
162 'Meta': {'object_name': 'Revision'},
163 'comment': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
164 'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
165 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
166 'manager_slug': ('django.db.models.fields.CharField', [], {'default': "'default'", 'max_length': '200', 'db_index': 'True'}),
167 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'})
168 },
169 'rh.ayantdroit': {
170 'Meta': {'ordering': "['nom']", 'object_name': 'AyantDroit'},
171 'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
172 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ayantdroits'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
173 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
174 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
175 'lien_parente': ('django.db.models.fields.CharField', [], {'max_length': '10', 'null': 'True', 'blank': 'True'}),
176 'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'ayantdroits_nationalite'", 'db_column': "'nationalite'", 'to_field': "'code'", 'to': "orm['references.Pays']", 'blank': 'True', 'null': 'True'}),
177 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
178 'nom_affichage': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
179 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
180 },
181 'rh.ayantdroitcommentaire': {
182 'Meta': {'ordering': "['-date_creation']", 'object_name': 'AyantDroitCommentaire'},
183 'ayant_droit': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'commentaires'", 'db_column': "'ayant_droit'", 'to': "orm['rh.AyantDroit']"}),
184 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
185 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
186 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'owner'", 'to': "orm['auth.User']"}),
187 'texte': ('django.db.models.fields.TextField', [], {})
188 },
189 'rh.categorieemploi': {
190 'Meta': {'ordering': "('nom',)", 'object_name': 'CategorieEmploi'},
191 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
192 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
193 },
194 'rh.classement': {
195 'Meta': {'ordering': "['type', 'echelon', 'degre', 'coefficient']", 'object_name': 'Classement'},
196 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
197 'coefficient': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
198 'commentaire': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
199 'degre': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
200 'echelon': ('django.db.models.fields.IntegerField', [], {'default': '0', 'blank': 'True'}),
201 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
202 'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
203 },
204 'rh.contrat': {
205 'Meta': {'ordering': "['dossier__employe__nom']", 'object_name': 'Contrat'},
206 'date_debut': ('django.db.models.fields.DateField', [], {'db_index': 'True'}),
207 'date_fin': ('django.db.models.fields.DateField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
208 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_contrats'", 'db_column': "'dossier'", 'to': "orm['rh.Dossier']"}),
209 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
210 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
211 'type_contrat': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type_contrat'", 'to': "orm['rh.TypeContrat']"})
212 },
213 'rh.devise': {
214 'Meta': {'ordering': "['code']", 'object_name': 'Devise'},
215 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
216 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '10'}),
217 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
218 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
219 },
220 'rh.dossier': {
221 'Meta': {'ordering': "['employe__nom']", 'object_name': 'Dossier'},
222 'classement': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement'", 'to': "orm['rh.Classement']"}),
223 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
224 'date_debut': ('django.db.models.fields.DateField', [], {'db_index': 'True'}),
225 'date_fin': ('django.db.models.fields.DateField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
226 'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}),
227 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
228 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
229 'organisme_bstg': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'organisme_bstg'", 'to': "orm['rh.OrganismeBstg']"}),
230 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossiers'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}),
231 'principal': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
232 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
233 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
234 'remplacement': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
235 'remplacement_de': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Dossier']"}),
236 'statut': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Statut']"}),
237 'statut_residence': ('django.db.models.fields.CharField', [], {'default': "'local'", 'max_length': '10', 'null': 'True'})
238 },
239 'rh.dossiercommentaire': {
240 'Meta': {'ordering': "['-date_creation']", 'object_name': 'DossierCommentaire'},
241 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
242 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'commentaires'", 'db_column': "'dossier'", 'to': "orm['rh.Dossier']"}),
243 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
244 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'owner'", 'to': "orm['auth.User']"}),
245 'texte': ('django.db.models.fields.TextField', [], {})
246 },
247 'rh.dossiercomparaison': {
248 'Meta': {'object_name': 'DossierComparaison'},
249 'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
250 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_comparaisons'", 'to': "orm['rh.Dossier']"}),
251 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
252 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['references.Implantation']"}),
253 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
254 'personne': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
255 'poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
256 },
257 'rh.dossierpiece': {
258 'Meta': {'ordering': "['nom']", 'object_name': 'DossierPiece'},
259 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_dossierpieces'", 'db_column': "'dossier'", 'to': "orm['rh.Dossier']"}),
260 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
261 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
262 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
263 },
264 'rh.employe': {
265 'Meta': {'ordering': "['nom', 'prenom']", 'object_name': 'Employe'},
266 'adresse': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
267 'code_postal': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
268 'courriel_perso': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
269 'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
270 'date_naissance': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
271 'genre': ('django.db.models.fields.CharField', [], {'max_length': '1'}),
272 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
273 'nationalite': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes_nationalite'", 'db_column': "'nationalite'", 'to_field': "'code'", 'to': "orm['references.Pays']", 'blank': 'True', 'null': 'True'}),
274 'nb_postes': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
275 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
276 'nom_affichage': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
277 'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'employes'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['references.Pays']", 'blank': 'True', 'null': 'True'}),
278 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
279 'province': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
280 'situation_famille': ('django.db.models.fields.CharField', [], {'max_length': '1', 'null': 'True', 'blank': 'True'}),
281 'tel_cellulaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
282 'tel_domicile': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
283 'ville': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
284 },
285 'rh.employecommentaire': {
286 'Meta': {'object_name': 'EmployeCommentaire'},
287 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
288 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'commentaires'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
289 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
290 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'owner'", 'to': "orm['auth.User']"}),
291 'texte': ('django.db.models.fields.TextField', [], {})
292 },
293 'rh.employepiece': {
294 'Meta': {'ordering': "['nom']", 'object_name': 'EmployePiece'},
295 'employe': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'pieces'", 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
296 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
297 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
298 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
299 },
300 'rh.familleprofessionnelle': {
301 'Meta': {'ordering': "('nom',)", 'object_name': 'FamilleProfessionnelle'},
302 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
303 'nom': ('django.db.models.fields.CharField', [], {'max_length': '100'})
304 },
305 'rh.modificationtraite': {
306 'Meta': {'object_name': 'ModificationTraite'},
307 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
308 'revision': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['reversion.Revision']"})
309 },
310 'rh.organismebstg': {
311 'Meta': {'ordering': "['type', 'nom']", 'object_name': 'OrganismeBstg'},
312 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
313 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
314 'pays': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'organismes_bstg'", 'db_column': "'pays'", 'to_field': "'code'", 'to': "orm['references.Pays']", 'blank': 'True', 'null': 'True'}),
315 'type': ('django.db.models.fields.CharField', [], {'max_length': '10'})
316 },
317 'rh.poste': {
318 'Meta': {'ordering': "['nom']", 'object_name': 'Poste'},
319 'appel': ('django.db.models.fields.CharField', [], {'default': "'interne'", 'max_length': '10', 'null': 'True'}),
320 'autre_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
321 'autre_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
322 'classement_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_max'", 'to': "orm['rh.Classement']"}),
323 'classement_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'classement_min'", 'to': "orm['rh.Classement']"}),
324 'comp_autre_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
325 'comp_autre_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
326 'comp_fonctionpub_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
327 'comp_fonctionpub_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
328 'comp_locale_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
329 'comp_locale_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
330 'comp_ong_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
331 'comp_ong_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
332 'comp_universite_max': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
333 'comp_universite_min': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
334 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
335 'date_debut': ('django.db.models.fields.DateField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
336 'date_fin': ('django.db.models.fields.DateField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
337 'date_modification': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'null': 'True', 'blank': 'True'}),
338 'devise_comparaison': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'devise_comparaison'", 'to': "orm['rh.Devise']"}),
339 'devise_max': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_max'", 'to': "orm['rh.Devise']"}),
340 'devise_min': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'devise_min'", 'to': "orm['rh.Devise']"}),
341 'expatrie': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
342 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
343 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'implantation'", 'to': "orm['references.Implantation']"}),
344 'indemn_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
345 'indemn_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
346 'justification': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
347 'local': ('django.db.models.fields.NullBooleanField', [], {'default': 'True', 'null': 'True', 'blank': 'True'}),
348 'mise_a_disposition': ('django.db.models.fields.NullBooleanField', [], {'default': 'False', 'null': 'True', 'blank': 'True'}),
349 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
350 'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True'}),
351 'regime_travail': ('django.db.models.fields.DecimalField', [], {'default': "'100.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
352 'regime_travail_nb_heure_semaine': ('django.db.models.fields.DecimalField', [], {'default': "'35.00'", 'null': 'True', 'max_digits': '12', 'decimal_places': '2'}),
353 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['rh.Poste']"}),
354 'salaire_max': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
355 'salaire_min': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
356 'service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_postes'", 'null': 'True', 'db_column': "'service'", 'to': "orm['rh.Service']"}),
357 'type_poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'null': 'True', 'db_column': "'type_poste'", 'to': "orm['rh.TypePoste']"}),
358 'vacant': ('django.db.models.fields.NullBooleanField', [], {'null': 'True', 'blank': 'True'}),
359 'valeur_point_max': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_max'", 'to': "orm['rh.ValeurPoint']"}),
360 'valeur_point_min': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'valeur_point_min'", 'to': "orm['rh.ValeurPoint']"})
361 },
362 'rh.postecommentaire': {
363 'Meta': {'ordering': "['-date_creation']", 'object_name': 'PosteCommentaire'},
364 'date_creation': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'null': 'True', 'blank': 'True'}),
365 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
366 'owner': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'owner'", 'to': "orm['auth.User']"}),
367 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'commentaires'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}),
368 'texte': ('django.db.models.fields.TextField', [], {})
369 },
370 'rh.postecomparaison': {
371 'Meta': {'object_name': 'PosteComparaison'},
372 'devise': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['rh.Devise']"}),
373 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
374 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'to': "orm['references.Implantation']"}),
375 'montant': ('django.db.models.fields.IntegerField', [], {'null': 'True'}),
376 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
377 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_comparaisons_internes'", 'to': "orm['rh.Poste']"})
378 },
379 'rh.postefinancement': {
380 'Meta': {'ordering': "['type']", 'object_name': 'PosteFinancement'},
381 'commentaire': ('django.db.models.fields.TextField', [], {}),
382 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
383 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_financements'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"}),
384 'pourcentage': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
385 'type': ('django.db.models.fields.CharField', [], {'max_length': '1'})
386 },
387 'rh.postepiece': {
388 'Meta': {'ordering': "['nom']", 'object_name': 'PostePiece'},
389 'fichier': ('django.db.models.fields.files.FileField', [], {'max_length': '100'}),
390 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
391 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
392 'poste': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_pieces'", 'db_column': "'poste'", 'to': "orm['rh.Poste']"})
393 },
394 'rh.remuneration': {
395 'Meta': {'object_name': 'Remuneration'},
396 'commentaire': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
397 'date_debut': ('django.db.models.fields.DateField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
398 'date_fin': ('django.db.models.fields.DateField', [], {'db_index': 'True', 'null': 'True', 'blank': 'True'}),
399 'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
400 'dossier': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_remunerations'", 'db_column': "'dossier'", 'to': "orm['rh.Dossier']"}),
401 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
402 'montant': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
403 'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'type'", 'to': "orm['rh.TypeRemuneration']"}),
404 'type_revalorisation': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'type_revalorisation'", 'to': "orm['rh.TypeRevalorisation']"})
405 },
406 'rh.responsableimplantation': {
407 'Meta': {'ordering': "['implantation__nom']", 'object_name': 'ResponsableImplantation'},
408 'employe': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'+'", 'null': 'True', 'db_column': "'employe'", 'to': "orm['rh.Employe']"}),
409 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
410 'implantation': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'responsable'", 'unique': 'True', 'db_column': "'implantation'", 'to': "orm['references.Implantation']"})
411 },
412 'rh.service': {
413 'Meta': {'ordering': "['nom']", 'object_name': 'Service'},
414 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
415 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
416 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
417 },
418 'rh.statut': {
419 'Meta': {'ordering': "['code']", 'object_name': 'Statut'},
420 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
421 'code': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '25'}),
422 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
423 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
424 },
425 'rh.tauxchange': {
426 'Meta': {'ordering': "['-annee', 'devise__code']", 'unique_together': "(('devise', 'annee'),)", 'object_name': 'TauxChange'},
427 'annee': ('django.db.models.fields.IntegerField', [], {}),
428 'devise': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['rh.Devise']", 'db_column': "'devise'"}),
429 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
430 'taux': ('django.db.models.fields.FloatField', [], {})
431 },
432 'rh.typecontrat': {
433 'Meta': {'ordering': "['nom']", 'object_name': 'TypeContrat'},
434 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
435 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
436 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
437 'nom_long': ('django.db.models.fields.CharField', [], {'max_length': '255'})
438 },
439 'rh.typeposte': {
440 'Meta': {'ordering': "['nom']", 'object_name': 'TypePoste'},
441 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
442 'categorie_emploi': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'categorie_emploi'", 'to': "orm['rh.CategorieEmploi']"}),
443 'famille_professionnelle': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'types_de_poste'", 'null': 'True', 'to': "orm['rh.FamilleProfessionnelle']"}),
444 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
445 'is_responsable': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
446 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
447 'nom_feminin': ('django.db.models.fields.CharField', [], {'max_length': '255'})
448 },
449 'rh.typeremuneration': {
450 'Meta': {'ordering': "['nom']", 'object_name': 'TypeRemuneration'},
451 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
452 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
453 'nature_remuneration': ('django.db.models.fields.CharField', [], {'max_length': '30'}),
454 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
455 'type_paiement': ('django.db.models.fields.CharField', [], {'max_length': '30'})
456 },
457 'rh.typerevalorisation': {
458 'Meta': {'ordering': "['nom']", 'object_name': 'TypeRevalorisation'},
459 'archive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
460 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
461 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'})
462 },
463 'rh.userprofile': {
464 'Meta': {'object_name': 'UserProfile'},
465 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
466 'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'profile'", 'unique': 'True', 'to': "orm['auth.User']"}),
467 'zones_administratives': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'profiles'", 'symmetrical': 'False', 'to': "orm['references.ZoneAdministrative']"})
468 },
469 'rh.valeurpoint': {
470 'Meta': {'ordering': "['-annee', 'implantation__nom']", 'unique_together': "(('implantation', 'annee'),)", 'object_name': 'ValeurPoint'},
471 'annee': ('django.db.models.fields.IntegerField', [], {}),
472 'devise': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'+'", 'db_column': "'devise'", 'to': "orm['rh.Devise']"}),
473 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
474 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'rh_valeur_point'", 'db_column': "'implantation'", 'to': "orm['references.Implantation']"}),
475 'valeur': ('django.db.models.fields.FloatField', [], {'null': 'True'})
476 },
477 'references.employe': {
478 'Meta': {'ordering': "['nom']", 'object_name': 'Employe', 'db_table': "u'ref_employe'", 'managed': 'False'},
479 'actif': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
480 'courriel': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
481 'date_entree': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
482 'fonction': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
483 'genre': ('django.db.models.fields.CharField', [], {'max_length': '3'}),
484 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
485 'implantation': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'lieu_travail_theorique_de'", 'db_column': "'implantation'", 'to': "orm['references.Implantation']"}),
486 'implantation_physique': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'lieu_travail_reel_de'", 'db_column': "'implantation_physique'", 'to': "orm['references.Implantation']"}),
487 'mandat_debut': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
488 'mandat_fin': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
489 'nom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
490 'prenom': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
491 'responsable': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'responsable_de'", 'null': 'True', 'db_column': "'responsable'", 'to': "orm['references.Employe']"}),
492 'telephone_ip': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
493 'telephone_ip_nomade': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
494 'telephone_poste': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'})
495 }
496 }
497
498 complete_apps = ['rh']
499 symmetrical = True