Code source de elgeopaso.jobs.migrations.0001_initial

# Generated by Django 2.2.10 on 2020-02-19 14:41

import django.core.validators
from django.db import migrations, models
import django.db.models.deletion


[docs]class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Contract', fields=[ ('abbrv', models.CharField(db_index=True, max_length=20, primary_key=True, serialize=False, unique=True, verbose_name='Abbréviation')), ('name', models.CharField(max_length=75, verbose_name='Intitulé complet')), ('comment', models.TextField(blank=True, verbose_name='Commentaire')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Ajouté le')), ('updated', models.DateTimeField(auto_now=True, verbose_name='Modifié le')), ], options={ 'verbose_name': 'Type de contrat', 'verbose_name_plural': 'Types de contrats', 'ordering': ['abbrv'], }, ), migrations.CreateModel( name='GeorezoRSS', fields=[ ('id_rss', models.IntegerField(db_index=True, primary_key=True, serialize=False, verbose_name='Identifiant du flux RSS')), ('title', models.CharField(blank=True, help_text='Doit être de la forme [TYPE_CONTRAT] INTITULÉ - LIEU (CODE_DÉPARTEMENT_OU_PAYS)', max_length=250, null=True, validators=[django.core.validators.MaxLengthValidator(250)], verbose_name="Titre de l'offre")), ('content', models.TextField(blank=True, null=True, verbose_name="Contenu de l'offre")), ('pub_date', models.DateTimeField(blank=True, db_index=True, null=True, verbose_name='Publiée le')), ('created', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='Ajoutée le')), ('updated', models.DateTimeField(auto_now=True, db_index=True, verbose_name='Modifiée le')), ('source', models.BooleanField()), ('to_update', models.BooleanField(db_index=True, default=False, help_text="Cocher cette case pour que l'offre soit de nouveau analysée à la prochaine mise à jour.", verbose_name='Analyser de nouveau')), ], options={ 'verbose_name_plural': "Offres d'emploi brutes issues du RSS de GeoRezo", 'db_table': 'georezo_rss', 'get_latest_by': 'pub_date', 'unique_together': {('id_rss', 'pub_date', 'source')}, }, ), migrations.CreateModel( name='JobPosition', fields=[ ('name', models.CharField(max_length=100, primary_key=True, serialize=False, unique=True, verbose_name='Intitulé')), ('comment', models.CharField(blank=True, max_length=5, verbose_name='Description')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Créé le')), ('updated', models.DateTimeField(auto_now=True, verbose_name='Modifié le')), ], options={ 'verbose_name': 'Métier', 'verbose_name_plural': 'Métiers', 'ordering': ['name'], }, ), migrations.CreateModel( name='Place', fields=[ ('name', models.CharField(max_length=100, primary_key=True, serialize=False, unique=True, verbose_name='Nom')), ('code', models.CharField(help_text="Code du département ou <a href='https://fr.wikipedia.org/wiki/ISO_3166-1#Table_de_codage'>code ISO à 3 lettres pour un pays (voir sur Wikipédia)</a>.", max_length=5, unique=True, verbose_name='Code')), ('scale', models.CharField(blank=True, choices=[('DEPARTEMENT', 'Département français'), ('TOM', 'Territoire français'), ('COUNTRY', 'Pays'), ('UNDEFINED', 'Indéfini')], db_index=True, default='DEPARTEMENT', max_length=50, verbose_name='Echelle')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Ajouté le')), ('updated', models.DateTimeField(auto_now=True, verbose_name='Modifié le')), ], options={ 'verbose_name': 'Lieu', 'verbose_name_plural': 'Lieux', 'ordering': ['code'], }, ), migrations.CreateModel( name='Source', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(db_index=True, default='GEOREZO_RSS', max_length=50, unique=True, verbose_name='Nom')), ('url', models.URLField(blank=True, verbose_name='Adresse web')), ('comment', models.TextField(blank=True, verbose_name='Commentaire')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Ajoutée le')), ('updated', models.DateTimeField(auto_now=True, verbose_name='Modifiée le')), ], options={ 'verbose_name': "Source de l'offre", 'verbose_name_plural': 'Sources', }, ), migrations.CreateModel( name='Technology', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(db_index=True, max_length=200, unique=True, verbose_name='Nom')), ('license', models.CharField(choices=[('OSS', 'Libre'), ('PROPRIETARY', 'Propriétaire'), ('UNDEFINED', 'Indéfini')], default='UNDEFINED', max_length=20, verbose_name='Licence principale')), ('type_soft', models.CharField(choices=[('LANGUAGE', 'Language de programmation'), ('SOFTWARE', 'Logiciel'), ('UNDEFINED', 'Indéfini')], default='UNDEFINED', max_length=50, verbose_name='Catégorie')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Ajoutée le')), ('updated', models.DateTimeField(auto_now=True, verbose_name='Modifiée le')), ], options={ 'verbose_name': 'Technologie', 'verbose_name_plural': 'Technologies', 'ordering': ['name'], }, ), migrations.CreateModel( name='TechnologyVariations', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.CharField(default='UNDEFINED', max_length=200, verbose_name='Variante du libellé')), ('name', models.ForeignKey(default='UNDEFINED', on_delete=django.db.models.deletion.SET_DEFAULT, to='jobs.Technology', verbose_name='Technologie correspondante')), ], options={ 'verbose_name': 'Variante des technologies', 'verbose_name_plural': 'Variantes des technologies', }, ), migrations.CreateModel( name='PlaceVariations', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.CharField(default='UNDEFINED', max_length=200, verbose_name='Variante du libellé')), ('name', models.ForeignKey(default='UNDEFINED', on_delete=django.db.models.deletion.SET_DEFAULT, to='jobs.Place', verbose_name='Lieu correspondant')), ], options={ 'verbose_name': 'Variante de lieu', 'verbose_name_plural': 'Variantes des lieux', }, ), migrations.CreateModel( name='Offer', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id_rss', models.IntegerField(blank=True, db_index=True, unique=True)), ('title', models.CharField(max_length=200, validators=[django.core.validators.MaxLengthValidator(200)], verbose_name='Titre')), ('content', models.TextField(null=True, verbose_name='Contenu')), ('pub_date', models.DateTimeField(null=True, verbose_name='Date de publication sur le RSS')), ('week', models.IntegerField(help_text='Format : <em>YYYYSS</em>.', null=True, verbose_name='Semaine de publication')), ('created', models.DateTimeField(auto_now_add=True, verbose_name='Ajoutée le')), ('updated', models.DateTimeField(auto_now=True, verbose_name='Modifiée le')), ('contract', models.ForeignKey(default='ND', null=True, on_delete=django.db.models.deletion.SET_DEFAULT, to='jobs.Contract', verbose_name='Type de contrat')), ('jobs_positions', models.ManyToManyField(to='jobs.JobPosition', verbose_name='Métiers')), ('place', models.ForeignKey(default='ND', null=True, on_delete=django.db.models.deletion.SET_DEFAULT, to='jobs.Place', verbose_name='Lieu')), ('raw_offer', models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='clean_offer', to='jobs.GeorezoRSS')), ('source', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, to='jobs.Source', verbose_name='Source')), ('technologies', models.ManyToManyField(to='jobs.Technology', verbose_name='Technologies')), ], options={ 'verbose_name': "Offre d'emploi", 'verbose_name_plural': "Offres d'emploi", 'ordering': ['id_rss'], 'get_latest_by': 'pub_date', }, ), migrations.CreateModel( name='JobPositionVariations', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.CharField(default='UNDEFINED', max_length=200, verbose_name='Variante du libellé')), ('name', models.ForeignKey(default='UNDEFINED', on_delete=django.db.models.deletion.SET_DEFAULT, to='jobs.JobPosition', verbose_name='Métier correspondant')), ], options={ 'verbose_name': 'Variante de métier', 'verbose_name_plural': 'Variantes des métiers', }, ), migrations.CreateModel( name='ContractVariations', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('label', models.CharField(default='UNDEFINED', max_length=200, verbose_name='Variante du libellé')), ('name', models.ForeignKey(default='UNDEFINED', on_delete=django.db.models.deletion.SET_DEFAULT, to='jobs.Contract', verbose_name='Type de contrat correspondant')), ], options={ 'verbose_name': 'Variante du type de contrat', 'verbose_name_plural': 'Variantes des types de contrats', }, ), ]