class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Profesor', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.TextField(max_length=120)), ('midlename', models.TextField(max_length=120)), ('surname', models.TextField(max_length=120)), ('image', models.ImageField(blank=True, height_field='height_field', null=True, upload_to=app.models.upload_location, width_field='width_field')), ('bio', models.TextField()), ('courser', models.TextField(max_length=120)), ], ), ]
class ChatModel(models.Model): """Chat History Model""" sender = models.ForeignKey(MyUser, on_delete=models.CASCADE, related_name="message_sender") receiver = models.ForeignKey(MyUser, on_delete=models.CASCADE, related_name="message_receiver") accepted_applied_job = models.ForeignKey(UserApplyJob, on_delete=models.CASCADE, related_name="user_applied_job") message = models.TextField("Employer or Job_seeker Message", blank=True, null=True) is_attachment = models.BooleanField(default=False) is_seen = models.BooleanField(default=False) created_at = models.DateTimeField("Created Date", auto_now_add=True, blank=True, null=True) def __str__(self): return "{} {}".format(self.sender.first_name, self.sender.last_name) class Meta: verbose_name_plural = "Chat"
class Migration(migrations.Migration): dependencies = [ ('app', '0002_auto_20180918_2121'), ] operations = [ migrations.CreateModel( name='Products', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=50)), ('descriptions', models.TextField(blank=True)), ('image', models.ImageField(blank=True, upload_to=app.models.image_folder)), ('price', models.DecimalField(decimal_places=2, max_digits=9)), ('available', models.BooleanField(default=True)), ('brand', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.Brand')), ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.Categories')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='AppPost', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=50)), ('body', models.TextField(max_length=5000)), ('image', models.ImageField(upload_to=app.models.upload_location)), ('date_published', models.DateTimeField(auto_now_add=True, verbose_name='data published')), ('date_updated', models.DateTimeField(auto_now=True, verbose_name='data updated')), ('slug', models.SlugField(blank=True, unique=True)), ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Ingredient', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('units', models.CharField(max_length=10)), ('amount', models.CharField(max_length=10)), ], ), migrations.CreateModel( name='Recipe', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ('instructions', models.TextField()), ('ingredients', djongo.models.fields.ArrayModelField(model_container=app.models.Ingredient)), ], ), migrations.CreateModel( name='Tag', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=100)), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('app', '0004_caruselinfo'), ] operations = [ migrations.CreateModel( name='Blog', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, unique_for_date='posted', verbose_name='Заголовок')), ('description', models.TextField(verbose_name='Краткое содержание')), ('content', models.TextField(verbose_name='Полное содержание')), ('posted', models.DateTimeField(db_index=True, default=datetime.datetime(2019, 7, 25, 0, 8, 57, 285357), verbose_name='Опубликована')), ('image', models.ImageField(upload_to=app.models.image_folder, verbose_name='Путь к картинке')), ('slug', models.SlugField()), ('available', models.BooleanField(default=True)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Attachment', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('filename', models.CharField(max_length=100)), ('file', models.FileField(upload_to=app.models.upload_path)), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ], ), migrations.CreateModel( name='Todo', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100)), ('description', models.TextField()), ('created_at', models.DateTimeField(default=django.utils.timezone.now)), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='todos', to=settings.AUTH_USER_MODEL)), ], ), migrations.AddField( model_name='attachment', name='todo', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='app.Todo'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Event', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('day', models.DateField(help_text='Day of the event', verbose_name='Day of the event')), ('start_time', models.TimeField(help_text='Starting time', verbose_name='Starting time')), ('end_time', models.TimeField(help_text='Final time', verbose_name='Final time')), ('notes', models.TextField(blank=True, help_text='Textual Notes', null=True, verbose_name='Textual Notes')), ('title', models.CharField(max_length=200)), ('type', models.CharField(choices=[ (app.models.GameTypeChoice('Doppelspiel'), 'Doppelspiel'), (app.models.GameTypeChoice('Einzelspiel'), 'Einzelspiel'), (app.models.GameTypeChoice('Turnier'), 'Turnier'), (app.models.GameTypeChoice('Event'), 'Event') ], max_length=5)), ('number', models.PositiveSmallIntegerField()), ('players', models.ManyToManyField(to=settings.AUTH_USER_MODEL)), ], options={ 'verbose_name': 'Scheduling', 'verbose_name_plural': 'Scheduling', }, ), ]
class Migration(migrations.Migration): dependencies = [ ('app', '0002_review_title'), ] operations = [ migrations.CreateModel( name='CarsReviews', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('car', models.CharField(max_length=64, verbose_name=app.models.Review)), ], ), migrations.AlterField( model_name='car', name='brand', field=models.CharField(max_length=50, verbose_name='Марка'), ), migrations.AlterField( model_name='car', name='model', field=models.CharField(max_length=50, verbose_name='Модель'), ), migrations.AlterField( model_name='review', name='car', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to='app.Car', verbose_name='Машина'), ), migrations.AlterField( model_name='review', name='text', field=models.TextField(verbose_name='Обзор'), ), migrations.AlterField( model_name='review', name='title', field=models.CharField(max_length=100, verbose_name='Заголовок'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Doctor', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('lastname', models.CharField(max_length=100)), ('firstname', models.CharField(max_length=100)), ('middlename', models.CharField(max_length=100)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Patient', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('lastname', models.CharField(max_length=100)), ('firstname', models.CharField(max_length=100)), ('middlename', models.CharField(max_length=100)), ('phone', models.CharField(max_length=20)), ('email', models.EmailField(max_length=254)), ], ), migrations.CreateModel( name='Record', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('test', models.CharField(max_length=100)), ('file_path', models.FileField(upload_to=app.models.make_file_path_name)), ('notes', models.TextField()), ('result', models.CharField(max_length=100)), ('time', models.DateTimeField()), ('doctor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.doctor')), ('patient', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.patient')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='ContactUser', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('email_address', models.EmailField(max_length=254)), ('phone_number', models.CharField( max_length=20, validators=[ django.core.validators.RegexValidator( message= 'Only numbers, (, ), -, +, and spaces are allowed.', regex='^[0-9\\-\\(\\) \\+]+$'), app.models.integers_validator ])), ('my_property_type', models.CharField(choices=[('S', 'Single Family'), ('H', 'Highrise Condo'), ('T', 'Townhouse')], max_length=1)), ('notes', models.TextField( blank=True, default='', validators=[ django.core.validators.MinLengthValidator( 10, message= 'Notes must consist of at least 10 characters.') ])), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('app', '0003_delete_caruselinfo'), ] operations = [ migrations.CreateModel( name='CaruselInfo', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=255)), ('content', models.TextField()), ('image', models.ImageField(upload_to=app.models.image_folder)), ('slug', models.SlugField()), ('available', models.BooleanField(default=True)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Text', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content', models.TextField(max_length=5000, null=True)), ('title', models.CharField(max_length=252, null=True)), ('modules', models.JSONField(blank=True, default=app.models.default_module, null=True)), ('images', models.JSONField(blank=True, default=dict, null=True)), ('examples', models.JSONField(blank=True, default=dict, null=True)), ('definitions', models.JSONField(blank=True, default=dict, null=True)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Update', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content', models.TextField(blank=True, null=True)), ('image', models.ImageField(blank=True, null=True, upload_to=app.models.upload_updated_image)), ('timestamp', models.DateField(auto_now_add=True)), ('updated_on', models.DateTimeField(auto_now=True)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('app', '0052_auto_20201022_0609'), ] operations = [ migrations.AddField( model_name='hodan', name='geo_location', field=app.models.CustomLocationField(blank=True, map_attrs={}, null=True), ), migrations.AlterField( model_name='hodan', name='location', field=models.TextField(blank=True, default='', verbose_name='Địa chỉ'), ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('app', '0014_auto_20201202_2200'), ] operations = [ migrations.AddField( model_name='profile', name='avatar', field=models.ImageField(blank=True, default='default.jpg', upload_to=''), ), migrations.CreateModel( name='UserOpinion', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('opinionDescription', models.TextField(blank=True, max_length=300, null=True)), ('opinionStars', app.models.IntegerRangeField()), ('opinionUserAbout', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user1', to=settings.AUTH_USER_MODEL)), ('opinionUserAuthor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user2', to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Event', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('time_range', django.contrib.postgres.fields.ranges.DateTimeRangeField(db_index=True, default=app.models.default_time_range)), ('remarks', models.TextField(blank=True)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Resume', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=64)), ('sharelink', models.CharField(default=app.models.gensharelink, max_length=32)), ('vanity', models.BooleanField(default=False)), ('archived', models.BooleanField(default=False)), ], ), migrations.CreateModel( name='ResumeObject', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('type', models.CharField(max_length=32)), ('data', models.TextField()), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.AddField( model_name='resume', name='layout', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name='layout_related', to='app.ResumeObject'), ), migrations.AddField( model_name='resume', name='owner', field=models.ForeignKey( on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL), ), migrations.AddField( model_name='resume', name='script', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name='script_related', to='app.ResumeObject'), ), migrations.AddField( model_name='resume', name='theme', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.CASCADE, related_name='theme_related', to='app.ResumeObject'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=True, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')), ('kurum', models.CharField(max_length=100, null=True, verbose_name='Kurum')), ('kurum_adres', models.CharField(max_length=200, null=True, verbose_name='Kurum adresi')), ('kurum_telefon', models.CharField( max_length=17, null=True, validators=[ django.core.validators.RegexValidator( message= "Telefon numarası şu şeklillerden biri gibi olmalı: '+9999999999' veya '9999999999' veya '999 9999999' veya '999 999 9999' veya '999 999 99 99'.", regex= '^\\+?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{2} ?[0-9]{2}$' ) ], verbose_name='Kurum telefonu')), ('kurum_web_adres', models.URLField(null=True, verbose_name='Kurum web adresi')), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', 'abstract': False, }, managers=[ ('objects', app.models.UserManager()), ], ), migrations.CreateModel( name='il', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('adi', models.CharField(max_length=20)), ], ), migrations.CreateModel( name='ilan', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('ad', models.CharField(max_length=40, null=True, verbose_name='ilan adı')), ('adet', models.IntegerField(default=1, null=True, verbose_name='Adet')), ('aciklama', models.TextField(blank=True, verbose_name='Açıklama')), ('yayinda', models.BooleanField(default=True, verbose_name='Yayında')), ('olusturma_tarihi', models.DateField(auto_now=True)), ('silme_tarihi', models.DateField(blank=True, null=True)), ('kurum', models.CharField(blank=True, max_length=200, null=True)), ('kucuk_resim', models.ImageField(blank=True, editable=False, null=True, upload_to='silinenilanlar')), ], ), migrations.CreateModel( name='ilce', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('adi', models.CharField(max_length=35)), ('ill', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.il')), ], ), migrations.CreateModel( name='Resim', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('resim', models.ImageField(null=True, upload_to='', verbose_name='Resim')), ('kucukResim', models.ImageField(blank=True, editable=False, null=True, upload_to='thumbs')), ('ilan', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='app.ilan')), ], options={ 'ordering': ['ilan'], }, ), migrations.CreateModel( name='Mesajlar', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('yon', models.CharField(choices=[('gelen', 'gelen'), ('giden', 'giden')], default='gelen', max_length=5)), ('mesaj_metni', models.TextField(default='')), ('tarih', models.DateTimeField(auto_now_add=True)), ('okundu', models.BooleanField(default=False)), ('ilan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.ilan')), ], ), migrations.CreateModel( name='mahalle', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('adi', models.CharField(max_length=50)), ('ilcee', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.ilce')), ], ), migrations.CreateModel( name='KayitBekleyenler', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='Kurum e-posta adresi')), ('kurum', models.CharField(max_length=100, null=True, verbose_name='Kurum adı')), ('kurum_adres', models.CharField(max_length=200, null=True, verbose_name='Kurum adresi')), ('kurum_telefon', models.CharField( max_length=17, null=True, validators=[ django.core.validators.RegexValidator( message= "Telefon numarası şu şeklillerden biri gibi olmalı: '+9999999999' veya '9999999999' veya '999 9999999' veya '999 999 9999' veya '999 999 99 99'. ", regex= '^\\+?[1-9][0-9]{2} ?[0-9]{3} ?[0-9]{2} ?[0-9]{2}$' ) ], verbose_name='Kurum telefonu')), ('kurum_web_adres', models.URLField(blank=True, null=True, verbose_name='Kurum web adresi')), ('kurum_il', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='app.il')), ('kurum_ilce', smart_selects.db_fields.ChainedForeignKey( chained_field='kurum_il', chained_model_field='ill', null=True, on_delete=django.db.models.deletion.CASCADE, to='app.ilce')), ], ), migrations.CreateModel( name='Kategori', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('ad', models.CharField(max_length=20, verbose_name='Kategori adı')), ('ust_kategori', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.Kategori')), ], options={ 'ordering': ('ust_kategori__ad', 'ad'), }, ), migrations.AddField( model_name='ilan', name='kategori', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to='app.Kategori'), ), migrations.AddField( model_name='ilan', name='sahip', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL), ), migrations.CreateModel( name='favoriler', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('ilan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.ilan')), ('sahip', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.AddField( model_name='user', name='kurum_il', field=models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to='app.il'), ), migrations.AddField( model_name='user', name='kurum_ilce', field=smart_selects.db_fields.ChainedForeignKey( auto_choose=True, chained_field='kurum_il', chained_model_field='ill', null=True, on_delete=django.db.models.deletion.CASCADE, sort=False, to='app.ilce'), ), migrations.AddField( model_name='user', name='kurum_mahalle', field=smart_selects.db_fields.ChainedForeignKey( auto_choose=True, chained_field='kurum_ilce', chained_model_field='ilcee', null=True, on_delete=django.db.models.deletion.CASCADE, sort=False, to='app.mahalle'), ), migrations.AddField( model_name='user', name='user_permissions', field=models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Address', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('street_address', models.TextField()), ('city', models.CharField(max_length=30)), ('state', models.CharField(max_length=30)), ('pincode', models.IntegerField()), ('country', models.CharField(max_length=30)), ], ), migrations.CreateModel( name='Profile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('phone_no', models.BigIntegerField( unique=True, validators=[ django.core.validators.MaxValueValidator(9999999999), django.core.validators.MinValueValidator(1000000000) ])), ('gender', models.CharField(blank=True, choices=[('M', 'Male'), ('F', 'Female'), ('O', 'Other')], max_length=1, null=True)), ('profile_pic', models.ImageField(blank=True, null=True, upload_to=app.models.user_directory_path)), ('date_of_birth', models.DateField(blank=True, null=True)), ('company_address', models.OneToOneField( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='company_address_is', to='app.Address')), ('friends', models.ManyToManyField(blank=True, null=True, related_name='friends_are', to=settings.AUTH_USER_MODEL)), ('permanent_address', models.OneToOneField( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='permanent_address_is', to='app.Address')), ('street_address', models.OneToOneField( blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='street_address_is', to='app.Address')), ('user', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, related_name='custom_user_profile', to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('app', '0002_auto_20180819_1334'), ] operations = [ migrations.CreateModel( name='Award', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('award_description', models.TextField(default='', max_length=255)), ('year', models.IntegerField(choices=[(1800, 1800), (1801, 1801), (1802, 1802), (1803, 1803), (1804, 1804), (1805, 1805), (1806, 1806), (1807, 1807), (1808, 1808), (1809, 1809), (1810, 1810), (1811, 1811), (1812, 1812), (1813, 1813), (1814, 1814), (1815, 1815), (1816, 1816), (1817, 1817), (1818, 1818), (1819, 1819), (1820, 1820), (1821, 1821), (1822, 1822), (1823, 1823), (1824, 1824), (1825, 1825), (1826, 1826), (1827, 1827), (1828, 1828), (1829, 1829), (1830, 1830), (1831, 1831), (1832, 1832), (1833, 1833), (1834, 1834), (1835, 1835), (1836, 1836), (1837, 1837), (1838, 1838), (1839, 1839), (1840, 1840), (1841, 1841), (1842, 1842), (1843, 1843), (1844, 1844), (1845, 1845), (1846, 1846), (1847, 1847), (1848, 1848), (1849, 1849), (1850, 1850), (1851, 1851), (1852, 1852), (1853, 1853), (1854, 1854), (1855, 1855), (1856, 1856), (1857, 1857), (1858, 1858), (1859, 1859), (1860, 1860), (1861, 1861), (1862, 1862), (1863, 1863), (1864, 1864), (1865, 1865), (1866, 1866), (1867, 1867), (1868, 1868), (1869, 1869), (1870, 1870), (1871, 1871), (1872, 1872), (1873, 1873), (1874, 1874), (1875, 1875), (1876, 1876), (1877, 1877), (1878, 1878), (1879, 1879), (1880, 1880), (1881, 1881), (1882, 1882), (1883, 1883), (1884, 1884), (1885, 1885), (1886, 1886), (1887, 1887), (1888, 1888), (1889, 1889), (1890, 1890), (1891, 1891), (1892, 1892), (1893, 1893), (1894, 1894), (1895, 1895), (1896, 1896), (1897, 1897), (1898, 1898), (1899, 1899), (1900, 1900), (1901, 1901), (1902, 1902), (1903, 1903), (1904, 1904), (1905, 1905), (1906, 1906), (1907, 1907), (1908, 1908), (1909, 1909), (1910, 1910), (1911, 1911), (1912, 1912), (1913, 1913), (1914, 1914), (1915, 1915), (1916, 1916), (1917, 1917), (1918, 1918), (1919, 1919), (1920, 1920), (1921, 1921), (1922, 1922), (1923, 1923), (1924, 1924), (1925, 1925), (1926, 1926), (1927, 1927), (1928, 1928), (1929, 1929), (1930, 1930), (1931, 1931), (1932, 1932), (1933, 1933), (1934, 1934), (1935, 1935), (1936, 1936), (1937, 1937), (1938, 1938), (1939, 1939), (1940, 1940), (1941, 1941), (1942, 1942), (1943, 1943), (1944, 1944), (1945, 1945), (1946, 1946), (1947, 1947), (1948, 1948), (1949, 1949), (1950, 1950), (1951, 1951), (1952, 1952), (1953, 1953), (1954, 1954), (1955, 1955), (1956, 1956), (1957, 1957), (1958, 1958), (1959, 1959), (1960, 1960), (1961, 1961), (1962, 1962), (1963, 1963), (1964, 1964), (1965, 1965), (1966, 1966), (1967, 1967), (1968, 1968), (1969, 1969), (1970, 1970), (1971, 1971), (1972, 1972), (1973, 1973), (1974, 1974), (1975, 1975), (1976, 1976), (1977, 1977), (1978, 1978), (1979, 1979), (1980, 1980), (1981, 1981), (1982, 1982), (1983, 1983), (1984, 1984), (1985, 1985), (1986, 1986), (1987, 1987), (1988, 1988), (1989, 1989), (1990, 1990), (1991, 1991), (1992, 1992), (1993, 1993), (1994, 1994), (1995, 1995), (1996, 1996), (1997, 1997), (1998, 1998), (1999, 1999), (2000, 2000), (2001, 2001), (2002, 2002), (2003, 2003), (2004, 2004), (2005, 2005), (2006, 2006), (2007, 2007), (2008, 2008), (2009, 2009), (2010, 2010), (2011, 2011), (2012, 2012), (2013, 2013), (2014, 2014), (2015, 2015), (2016, 2016), (2017, 2017), (2018, 2018)], default=app.models.current_year)), ('company', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.Company')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='Availability', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('title', models.CharField(max_length=100)), ('dateAdded', models.DateTimeField(auto_now_add=True)), ('start', models.DateTimeField(null=True)), ('end', models.DateTimeField(null=True)), ('duration', models.DurationField(null=True)), ('booked', models.BooleanField(default=False)), ('background', models.BooleanField(default=False)), ('allDay', models.BooleanField(default=False)), ('userID', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Event', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('title', models.CharField(max_length=100)), ('description', models.CharField(max_length=1000)), ('start', models.DateTimeField(null='true')), ('end', models.DateTimeField(null='true')), ], ), migrations.CreateModel( name='NoteSet', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('dateAdded', models.DateTimeField(auto_now_add=True)), ('title', models.CharField(max_length=100)), ('description', models.CharField(max_length=1000)), ('availabilityID', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='app.Availability')), ('userID', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Profile', fields=[ ('user', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)), ('bio', models.TextField(blank=True, max_length=500, null=True)), ('country', models.CharField(blank=True, max_length=30, null=True)), ('birthDate', models.DateField(blank=True, null=True)), ('avatar', models.FileField(blank=True, null=True, upload_to=app.models.get_avatar_path)), ('isTeacher', models.BooleanField(default=False)), ], ), migrations.CreateModel( name='Subject', fields=[ ('name', models.CharField(max_length=100, primary_key=True, serialize=False)), ('description', models.CharField(blank=True, max_length=100, null=True)), ], ), migrations.CreateModel( name='UserAttendEvent', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('eventID', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.Event')), ('userID', models.ForeignKey( null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='TutoringSession', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('availabilityID', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='app.Availability')), ('learnerID', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='learnerID', to=settings.AUTH_USER_MODEL)), ('tutorID', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='tutorID', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='TeachesSubjects', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('subject', models.ForeignKey(null='true', on_delete=django.db.models.deletion.CASCADE, to='app.Subject')), ('teacherID', models.ForeignKey(null='true', on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='NoteSetSubjects', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('noteSetID', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.NoteSet')), ('subject', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.Subject')), ], ), migrations.CreateModel( name='NoteSetContent', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('content', models.FileField(upload_to=app.models.get_upload_path)), ('noteSetID', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.NoteSet')), ], ), migrations.CreateModel( name='DirectMessage', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('content', models.CharField(max_length=5000, null=True)), ('seen', models.BooleanField(default=False)), ('dateSent', models.DateTimeField(auto_now_add=True, null=True)), ('picture', models.FileField(null=True, upload_to=app.models.get_chat_upload_path)), ('author', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='me', to=settings.AUTH_USER_MODEL)), ('sentTo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='them', to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Chat', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('dateCreated', models.DateTimeField(auto_now_add=True, null=True)), ('otherUser', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='otherPerson', to=settings.AUTH_USER_MODEL)), ('owner', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='personWhoOwnsIt', to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ] operations = [ migrations.CreateModel( name='Address', fields=[ ('address_line1', models.CharField(max_length=50)), ('address_line2', models.CharField(blank=True, max_length=50, null=True)), ('town_city', models.CharField(max_length=50)), ('county', models.CharField(max_length=50)), ('eir_code', models.CharField(max_length=50, primary_key=True, serialize=False)), ], ), migrations.CreateModel( name='Category', fields=[ ('id', models.IntegerField(auto_created=True, primary_key=True, serialize=False, unique=True)), ('name', models.CharField(max_length=100, unique=True)), ('category_description', models.TextField(max_length=400)), ('category_image', models.ImageField(blank=True, default='', upload_to=app.models.upload_path)), ], ), migrations.CreateModel( name='Shop', fields=[ ('id', models.IntegerField(auto_created=True, primary_key=True, serialize=False, unique=True)), ('business_reg', models.CharField(max_length=10, unique=True)), ('shop_name', models.CharField(max_length=50)), ('slogan', models.CharField(blank=True, max_length=150, null=True)), ('description', models.TextField(max_length=500)), ('logo', models.ImageField(default='', upload_to='logos')), ('shop_image', models.ImageField(blank=True, default='', upload_to=app.models.upload_path)), ('phone_no', models.IntegerField(default=0)), ('email', models.EmailField(max_length=254)), ('address_line1', models.CharField(default='', max_length=50)), ('address_line2', models.CharField(blank=True, max_length=50, null=True)), ('town_city', models.CharField(default='', max_length=50)), ('county', models.CharField(default='', max_length=50)), ('eir_code', models.CharField(default='', max_length=50)), ], ), migrations.CreateModel( name='Product', fields=[ ('product_code', models.AutoField(auto_created=True, primary_key=True, serialize=False, unique=True)), ('name', models.CharField(blank=True, max_length=50)), ('price', models.DecimalField(decimal_places=2, default=0, max_digits=1000)), ('product_image', models.ImageField(blank=True, default='', null=True, upload_to=app.models.upload_path)), ('product_description', models.TextField(blank=True, max_length=250)), ('quantity', models.IntegerField(blank=True, default=0)), ('colour', models.CharField(blank=True, choices=[('Red', 'Red'), ('Blue', 'Blue'), ('Green', 'Green'), ('Orange', 'Orange'), ('Yellow', 'Yellow'), ('White', 'White'), ('Black', 'Black'), ('Navy', 'Navy'), ('Brown', 'Brown'), ('Purple', 'Purple'), ('Pink', 'Pink')], default='Black', max_length=10)), ('stock', models.CharField(blank=True, choices=[('In Stock', 'In Stock'), ('Out Of Stock', 'Out Of Stock')], default='In Stock', max_length=50)), ('shipping_fee', models.DecimalField(blank=True, decimal_places=2, default=0, max_digits=1000)), ('entry_date', models.DateTimeField(auto_now_add=True, null=True)), ('last_update', models.DateTimeField(auto_now=True, null=True)), ('weight', models.DecimalField(blank=True, decimal_places=1, default=0, max_digits=100)), ('category', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='app.category', to_field='name')), ('shop', models.ForeignKey(null=True, on_delete=django.db.models.deletion.PROTECT, to='app.shop')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0012_alter_user_first_name_max_length'), ] operations = [ migrations.CreateModel( name='Dataset', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('params', models.TextField(verbose_name='params')), ('type', models.CharField(choices=[('f', 'File'), ('d', 'Database'), ('a', 'API')], max_length=1)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')), ('name', models.CharField(max_length=50)), ('is_active', models.BooleanField(default=True, verbose_name='active')), ('avatar', models.ImageField(blank=True, null=True, upload_to='avatars/')), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', }, managers=[ ('objects', app.models.UserManager()), ], ), ]
class Migration(migrations.Migration): dependencies = [ ('app', '0001_initial'), ] operations = [ migrations.CreateModel( name='Game', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, max_length=64, null=True)), ('country', models.CharField(blank=True, max_length=32, null=True)), ('show', models.BooleanField(blank=True, default=True, null=True)), ('game_type', models.CharField(blank=True, max_length=32, null=True)), ('type', models.CharField(blank=True, choices=[('K', 'Keys'), ('C', 'Charging')], default='K', max_length=2, null=True)), ('platform', models.CharField(blank=True, choices=[('C', 'Computer'), ('M', 'Mobile'), ('P', 'PlayStation'), ('X', 'XBox')], default='C', max_length=2, null=True)), ('notes', models.TextField(blank=True, default='', null=True)), ('about', models.TextField(blank=True, default='', null=True)), ('details', models.TextField(blank=True, default='', null=True)), ('video', models.CharField(blank=True, default='', max_length=255, null=True)), ('facebook', models.CharField(blank=True, default='', max_length=255, null=True)), ('website', models.CharField(blank=True, default='', max_length=255, null=True)), ('youtube', models.CharField(blank=True, default='', max_length=255, null=True)), ('logo', models.ImageField(blank=True, null=True, upload_to='games/logo')), ('bg_cover', models.ImageField(blank=True, null=True, upload_to='games/bg_cover')), ('bg_card', models.ImageField(blank=True, null=True, upload_to='games/bg_card')), ], ), migrations.CreateModel( name='GameCard', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(blank=True, max_length=64, null=True)), ('price', models.FloatField(blank=True, default=1, null=True)), ('discount', models.FloatField(blank=True, default=0.0, null=True)), ('max', models.IntegerField(blank=True, default=10, null=True)), ('min', models.IntegerField(blank=True, default=0, null=True)), ('points', models.IntegerField(blank=True, default=0, null=True)), ('sold_flag', models.IntegerField(blank=True, default=0, null=True)), ('game', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='game_cards', to='app.Game')), ], ), migrations.DeleteModel(name='Platform', ), migrations.AlterField( model_name='enum', name='name', field=models.CharField(blank=True, max_length=32), ), migrations.AlterField( model_name='invoice', name='action', field=models.CharField(blank=True, choices=[('A', 'Add Balance'), ('R', 'Remove Balance'), ('S', 'Set Balance'), ('P', 'Pay')], default='A', max_length=1, null=True), ), migrations.AlterField( model_name='user', name='username', field=models.CharField(blank=True, default=app.models.generate_user_name, max_length=64), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('nodeodm', '0001_initial'), ('auth', '0008_alter_user_username_max_length'), migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='ImageUpload', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('image', models.ImageField(help_text='File uploaded by a user', upload_to=app.models.image_directory_path)), ], ), migrations.CreateModel( name='Project', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(help_text='A label used to describe the project', max_length=255)), ('description', models.TextField(blank=True, help_text='More in-depth description of the project', null=True)), ('created_at', models.DateTimeField(default=django.utils.timezone.now, help_text='Creation date')), ('deleting', models.BooleanField(db_index=True, default=False, help_text='Whether this project has been marked for deletion. Projects that have running tasks need to wait for tasks to be properly cleaned up before they can be deleted.')), ('owner', models.ForeignKey(help_text='The person who created the project', on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='ProjectGroupObjectPermission', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content_object', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.Project')), ('group', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='auth.Group')), ('permission', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='auth.Permission')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='ProjectUserObjectPermission', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('content_object', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.Project')), ('permission', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='auth.Permission')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='Task', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('uuid', models.CharField(blank=True, db_index=True, default='', help_text="Identifier of the task (as returned by OpenDroneMap's REST API)", max_length=255)), ('name', models.CharField(blank=True, help_text='A label for the task', max_length=255, null=True)), ('processing_lock', models.BooleanField(default=False, help_text='A flag indicating whether this task is currently locked for processing. When this flag is turned on, the task is in the middle of a processing step.')), ('processing_time', models.IntegerField(default=-1, help_text='Number of milliseconds that elapsed since the beginning of this task (-1 indicates that no information is available)')), ('status', models.IntegerField(blank=True, choices=[(10, 'QUEUED'), (20, 'RUNNING'), (30, 'FAILED'), (40, 'COMPLETED'), (50, 'CANCELED')], db_index=True, help_text='Current status of the task', null=True)), ('last_error', models.TextField(blank=True, help_text='The last processing error received', null=True)), ('options', django.contrib.postgres.fields.jsonb.JSONField(blank=True, default={}, help_text='Options that are being used to process this task', validators=[app.models.validate_task_options])), ('console_output', models.TextField(blank=True, default='', help_text="Console output of the OpenDroneMap's process")), ('ground_control_points', models.FileField(blank=True, help_text='Optional Ground Control Points file to use for processing', null=True, upload_to=app.models.gcp_directory_path)), ('orthophoto', django.contrib.gis.db.models.RasterField(blank=True, help_text='Orthophoto created by OpenDroneMap', null=True, srid=4326)), ('created_at', models.DateTimeField(default=django.utils.timezone.now, help_text='Creation date')), ('pending_action', models.IntegerField(blank=True, choices=[(1, 'CANCEL'), (2, 'REMOVE'), (3, 'RESTART')], db_index=True, help_text='A requested action to be performed on the task. The selected action will be performed by the scheduler at the next iteration.', null=True)), ('processing_node', models.ForeignKey(blank=True, help_text='Processing node assigned to this task (or null if this task has not been associated yet)', null=True, on_delete=django.db.models.deletion.CASCADE, to='nodeodm.ProcessingNode')), ('project', models.ForeignKey(help_text='Project that this task belongs to', on_delete=django.db.models.deletion.CASCADE, to='app.Project')), ], ), migrations.AddField( model_name='imageupload', name='task', field=models.ForeignKey(help_text='Task this image belongs to', on_delete=django.db.models.deletion.CASCADE, to='app.Task'), ), migrations.AlterUniqueTogether( name='projectuserobjectpermission', unique_together=set([('user', 'permission', 'content_object')]), ), migrations.AlterUniqueTogether( name='projectgroupobjectpermission', unique_together=set([('group', 'permission', 'content_object')]), ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('auth', '0011_update_proxy_permissions'), ] operations = [ migrations.CreateModel( name='User', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('password', models.CharField(max_length=128, verbose_name='password')), ('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('is_superuser', models.BooleanField( default=False, help_text= 'Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')), ('grade', models.IntegerField(blank=True, default=0, null=True, verbose_name='grade')), ('school_name', models.CharField(max_length=100, null=True, verbose_name='school name')), ('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')), ('first_name', models.CharField(blank=True, max_length=30, verbose_name='first name')), ('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')), ('society_name', models.CharField(blank=True, max_length=150, verbose_name='society name')), ('is_student', models.BooleanField(default=False)), ('is_society', models.BooleanField(default=False)), ('is_company', models.BooleanField(default=False)), ('is_staff', models.BooleanField( default=False, help_text= 'Designates whether the user can log into this admin site.', verbose_name='staff status')), ('is_active', models.BooleanField( default=True, help_text= 'Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')), ('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')), ('groups', models.ManyToManyField( blank=True, help_text= 'The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')), ('user_permissions', models.ManyToManyField( blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')), ], options={ 'verbose_name': 'user', 'verbose_name_plural': 'users', }, managers=[ ('objects', app.models.CustomUserManager()), ], ), migrations.CreateModel( name='BoardModel', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=100, verbose_name='タイトル')), ('content', models.TextField(verbose_name='本文')), ('author', models.CharField(max_length=100)), ('images', models.ImageField(blank=True, upload_to='image', verbose_name='画像')), ('good', models.IntegerField()), ('read', models.IntegerField()), ('readtext', models.CharField(max_length=200)), ], ), migrations.CreateModel( name='Company', fields=[ ('user', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='company', serialize=False, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Student', fields=[ ('user', models.OneToOneField( on_delete=django.db.models.deletion.CASCADE, primary_key=True, related_name='student', serialize=False, to=settings.AUTH_USER_MODEL)), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [ ('contenttypes', '0002_remove_content_type_name'), ] operations = [ migrations.CreateModel( name='LegalAgreement', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(editable=False)), ('modified', models.DateTimeField(editable=False)), ('label', models.CharField(default='', max_length=100)), ('slug', models.CharField(default='', max_length=100)), ('content', models.TextField(blank=True, default='')), ('pdf', models.FileField(blank=True, default='', upload_to='legal')), ('sign', models.BooleanField(default=False)), ('is_linked', models.BooleanField(default=False)), ('publicly_visible', models.BooleanField(default=False)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='PdfGeneration', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(editable=False)), ('modified', models.DateTimeField(editable=False)), ('name', models.CharField(default='', max_length=100)), ('pdf_file', models.FileField(default=None, null=True, storage=app.files.SecureFileSystemStorage(), upload_to='pdf_generation')), ('pagesize', models.CharField(blank=True, choices=[('LETTER', 'Letter'), ('LEGAL', 'Legal'), ('A4', 'A4')], default='LETTER', max_length=100)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='PdfGenerationField', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(editable=False)), ('modified', models.DateTimeField(editable=False)), ('page_number', models.PositiveIntegerField()), ('x', models.PositiveIntegerField()), ('y', models.PositiveIntegerField()), ('field_type', models.CharField(choices=[('string', 'Text Field'), ('signature', 'Signature'), ('checkbox', 'Checkbox'), ('image', 'Image Field')], default='string', max_length=100)), ('field_name', models.CharField(default='', max_length=100)), ('field_model', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType')), ('pdf', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.PdfGeneration')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='SecureUpload', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(editable=False)), ('modified', models.DateTimeField(editable=False)), ('name', models.CharField(default='', max_length=200)), ('upload', models.FileField(default=None, null=True, storage=app.files.SecureFileSystemStorage(), upload_to=app.models.secure_upload_path)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='WorkflowWizard', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(editable=False)), ('modified', models.DateTimeField(editable=False)), ('is_template', models.BooleanField(default=False)), ('name', models.CharField(default='', max_length=200)), ('active', models.BooleanField(default=False)), ('deleted', models.BooleanField(default=False)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='WorkflowWizardForm', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(editable=False)), ('modified', models.DateTimeField(editable=False)), ('name', models.CharField(default='', max_length=200)), ('description', models.TextField(default='')), ('active', models.BooleanField(default=False)), ('deleted', models.BooleanField(default=False)), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='WorkflowWizardFormField', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(editable=False)), ('modified', models.DateTimeField(editable=False)), ('name', models.CharField(default='', max_length=200)), ('description', models.TextField(default='')), ('active', models.BooleanField(default=False)), ('deleted', models.BooleanField(default=False)), ('required', models.BooleanField(default=False)), ('ordering', models.PositiveIntegerField(default=2000)), ('form', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='fields', to='app.WorkflowWizardForm')), ], options={ 'abstract': False, }, ), migrations.CreateModel( name='WorkflowWizardStep', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('created', models.DateTimeField(editable=False)), ('modified', models.DateTimeField(editable=False)), ('name', models.CharField(default='', max_length=200)), ('description', models.TextField(default='')), ('completion_code', models.CharField(blank=True, default='', max_length=100)), ('active', models.BooleanField(default=False)), ('deleted', models.BooleanField(default=False)), ('required', models.BooleanField(default=False)), ('ordering', models.PositiveIntegerField(default=2000)), ('employer', models.BooleanField(default=False, verbose_name='Employer Step')), ('agreement', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.LegalAgreement')), ('form', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.WorkflowWizardForm')), ('pdfgen', models.ManyToManyField(blank=True, to='app.PdfGeneration', verbose_name='PDF Forms (Generated)')), ('workflow_wizard', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='steps', to='app.WorkflowWizard')), ], options={ 'ordering': ['workflow_wizard__id', 'ordering'], }, ), ]
class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='Application', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=255)), ('description', models.CharField(max_length=255)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Component', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('name', models.TextField()), ('type', models.TextField()), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ], ), migrations.CreateModel( name='Cwe', fields=[ ('cwe', models.IntegerField(primary_key=True, serialize=False)), ('description', models.TextField()), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ], ), migrations.CreateModel( name='Finding', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=512)), ('path', models.CharField(max_length=1024)), ('line_number', models.IntegerField(null=True)), ('line', models.TextField()), ('snippet', models.TextField()), ('match', models.TextField(blank=True, null=True)), ('status', models.CharField(choices=[('VF', 'Verified'), ('FP', 'False Positive'), ('TP', 'True Positive'), ('MI', 'Mitigated'), ('UK', 'Unknown'), ('TD', 'To Do')], max_length=50)), ('severity', models.CharField(choices=[('CR', 'Critical'), ('HI', 'High'), ('ME', 'Medium'), ('LO', 'Low'), ('NO', 'None')], max_length=10)), ('description', models.TextField()), ('mitigation', models.TextField(blank=True, null=True)), ('defectdojo_id', models.IntegerField(blank=True, default=0)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('cwe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.cwe')), ], ), migrations.CreateModel( name='Malware', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('date', models.CharField(max_length=255, null=True)), ('url', models.TextField(blank=True, null=True)), ('ip', models.TextField(blank=True, null=True)), ('reverse_lookup', models.TextField(blank=True, null=True)), ('description', models.TextField(blank=True, null=True)), ('asp', models.CharField(max_length=255, null=True)), ('geolocation', models.TextField(blank=True, null=True)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ], ), migrations.CreateModel( name='PermissionType', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('name', models.TextField(unique=True)), ('type', models.CharField(max_length=50)), ('default_severity', models.CharField(choices=[('CR', 'Critical'), ('HI', 'High'), ('ME', 'Medium'), ('LO', 'Low'), ('NO', 'None')], max_length=10)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ], ), migrations.CreateModel( name='Scan', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('name', models.CharField(blank=True, max_length=255)), ('apk', models.FileField(upload_to='apk/', validators=[app.models.validate_file_extension])), ('description', models.CharField(max_length=255)), ('defectdojo_id', models.IntegerField(blank=True, default=0)), ('status', models.CharField(blank=True, max_length=50, null=True)), ('progress', models.IntegerField(blank=True, null=True)), ('findings', models.IntegerField(blank=True, default=0, null=True)), ('apk_name', models.CharField(blank=True, max_length=255, null=True)), ('file_size', models.CharField(blank=True, max_length=255, null=True)), ('md5', models.CharField(blank=True, max_length=255, null=True)), ('sha1', models.CharField(blank=True, max_length=255, null=True)), ('sha256', models.CharField(blank=True, max_length=255, null=True)), ('package', models.CharField(blank=True, max_length=255, null=True)), ('icon', models.TextField(blank=True, null=True)), ('version_code', models.CharField(blank=True, max_length=50, null=True)), ('version_name', models.CharField(blank=True, max_length=50, null=True)), ('min_sdk_version', models.CharField(blank=True, max_length=50, null=True)), ('max_sdk_version', models.CharField(blank=True, max_length=50, null=True)), ('target_sdk_version', models.CharField(blank=True, max_length=50, null=True)), ('effective_target_sdk_version', models.CharField(blank=True, max_length=50, null=True)), ('manifest', models.TextField(blank=True, null=True)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('app', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.application')), ('user', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='VirusTotalScan', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('identifier', models.CharField(max_length=255, null=True)), ('type', models.CharField(max_length=255, null=True)), ('date', models.DateTimeField(null=True)), ('md5', models.CharField(max_length=255, null=True)), ('sha256', models.CharField(max_length=255, null=True)), ('ssdeep', models.CharField(max_length=255, null=True)), ('link', models.TextField(blank=True, null=True)), ('harmless', models.IntegerField(blank=True, default=0)), ('malicious', models.IntegerField(blank=True, default=0)), ('suspicious', models.IntegerField(blank=True, default=0)), ('undetected', models.IntegerField(blank=True, default=0)), ('unsupported', models.IntegerField(blank=True, default=0)), ('type_unsupported', models.IntegerField(blank=True, default=0)), ('failure', models.IntegerField(blank=True, default=0)), ('timeout', models.IntegerField(blank=True, default=0)), ('uploaded', models.BooleanField(default=False)), ('first_seen', models.DateTimeField(null=True)), ('first_submission', models.DateTimeField(null=True)), ('last_submission', models.DateTimeField(null=True)), ('reputation', models.IntegerField(blank=True, default=0)), ('times_submitted', models.IntegerField(blank=True, default=0)), ('votes_harmless', models.IntegerField(blank=True, default=0)), ('votes_malicious', models.IntegerField(blank=True, default=0)), ('magic', models.CharField(max_length=255, null=True)), ('type_description', models.CharField(max_length=255, null=True)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ], ), migrations.CreateModel( name='String', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('type', models.CharField(max_length=255)), ('value', models.TextField(blank=True)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('finding', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.finding')), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ], ), migrations.CreateModel( name='Profile', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(blank=True, max_length=100)), ('last_name', models.CharField(blank=True, max_length=100)), ('email', models.EmailField(max_length=150)), ('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)), ], ), migrations.CreateModel( name='Permission', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('severity', models.CharField(choices=[('CR', 'Critical'), ('HI', 'High'), ('ME', 'Medium'), ('LO', 'Low'), ('NO', 'None')], max_length=10)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('permission', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.permissiontype')), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ], ), migrations.CreateModel( name='Pattern', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('default_name', models.TextField()), ('default_description', models.TextField(blank=True)), ('default_severity', models.CharField(choices=[('CR', 'Critical'), ('HI', 'High'), ('ME', 'Medium'), ('LO', 'Low'), ('NO', 'None')], max_length=10)), ('default_mitigation', models.TextField(blank=True)), ('pattern', models.TextField()), ('active', models.BooleanField(default=True)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('default_cwe', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.cwe')), ], ), migrations.CreateModel( name='IntentFilter', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('name', models.TextField()), ('action', models.TextField()), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('component', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.component')), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ], ), migrations.AddField( model_name='finding', name='scan', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan'), ), migrations.AddField( model_name='finding', name='type', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='app.pattern'), ), migrations.AddField( model_name='finding', name='user', field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL), ), migrations.CreateModel( name='File', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('type', models.CharField(max_length=255)), ('name', models.CharField(max_length=255)), ('path', models.CharField(max_length=255)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ], ), migrations.CreateModel( name='Domain', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('domain', models.TextField(blank=True)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('finding', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.finding')), ('malware', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='app.malware')), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ], ), migrations.CreateModel( name='DatabaseInfo', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('table', models.CharField(max_length=255)), ('info', models.TextField(blank=True)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ], ), migrations.AddField( model_name='component', name='scan', field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan'), ), migrations.CreateModel( name='Certificate', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('version', models.CharField(blank=True, max_length=10)), ('sha1', models.CharField(blank=True, max_length=255)), ('sha256', models.CharField(blank=True, max_length=255)), ('issuer', models.TextField(blank=True)), ('subject', models.TextField(blank=True)), ('hash_algorithm', models.TextField(blank=True)), ('signature_algorithm', models.TextField(blank=True)), ('serial_number', models.TextField(blank=True)), ('contents', models.TextField(blank=True)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ], ), migrations.CreateModel( name='Antivirus', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('name', models.CharField(max_length=255, null=True)), ('category', models.CharField(max_length=255, null=True)), ('version', models.CharField(max_length=255, null=True)), ('result', models.CharField(max_length=255, null=True)), ('method', models.CharField(max_length=255, null=True)), ('update', models.CharField(max_length=255, null=True)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ('virus_scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.virustotalscan')), ], ), migrations.CreateModel( name='Activity', fields=[ ('id', models.AutoField(primary_key=True, serialize=False)), ('name', models.TextField()), ('main', models.BooleanField(default=False)), ('exported', models.BooleanField(default=False)), ('created_on', models.DateTimeField(auto_now_add=True, null=True)), ('updated_on', models.DateTimeField(auto_now=True, null=True)), ('scan', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.scan')), ], ), ]
class Migration(migrations.Migration): initial = True dependencies = [] operations = [ migrations.CreateModel( name='Class', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('class_name', models.CharField(max_length=100, verbose_name='班级')), ], options={ 'verbose_name': '班级', 'verbose_name_plural': '班级', }, ), migrations.CreateModel( name='Students', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('name', models.CharField(max_length=50, verbose_name='学生姓名')), ('sex', models.CharField(choices=[('男', '男'), ('女', '女')], max_length=50, verbose_name='性别')), ('studentname', models.CharField(blank=True, max_length=250, verbose_name='学号')), ('enter_date', models.DateField(verbose_name='违纪时间')), ('reason', models.TextField(blank=True, verbose_name='违纪原因')), ('level', models.CharField(choices=[('警告', '警告'), ('严重警告', '严重警告'), ('记过', '记过'), ('留校察看', '留校察看')], max_length=30, verbose_name='处分类型')), ('photo', models.ImageField(blank=True, null=True, upload_to=app.models.Students.get_photo, verbose_name='相关照片')), ('class_name', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='app.Class', verbose_name='所在班级')), ], options={ 'verbose_name': '学生信息', 'verbose_name_plural': '学生信息', }, ), ]