Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
mhsharifi96 committed Jul 13, 2021
1 parent 8d0cf4e commit 1a41b8d
Show file tree
Hide file tree
Showing 11 changed files with 462 additions and 19 deletions.
93 changes: 93 additions & 0 deletions tutproject/advmodels/migrations/0001_initial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# Generated by Django 3.2.5 on 2021-07-13 17:50

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


class Migration(migrations.Migration):

initial = True

dependencies = [
]

operations = [
migrations.CreateModel(
name='Person',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('first_name', models.CharField(max_length=30)),
('last_name', models.CharField(max_length=30)),
],
),
migrations.CreateModel(
name='Piece',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
),
migrations.CreateModel(
name='Place',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50)),
('address', models.CharField(max_length=80)),
],
),
migrations.CreateModel(
name='Student',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=100)),
('age', models.PositiveIntegerField()),
('home_group', models.CharField(max_length=5)),
],
options={
'db_table': 'student_info',
'ordering': ['name'],
'abstract': False,
},
),
migrations.CreateModel(
name='Article',
fields=[
('article_piece', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='advmodels.piece')),
],
bases=('advmodels.piece',),
),
migrations.CreateModel(
name='Book',
fields=[
('book_piece', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='advmodels.piece')),
],
bases=('advmodels.piece',),
),
migrations.CreateModel(
name='Restaurant',
fields=[
('place_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='advmodels.place')),
('serves_hot_dogs', models.BooleanField(default=False)),
('serves_pizza', models.BooleanField(default=False)),
],
bases=('advmodels.place',),
),
migrations.CreateModel(
name='MyPerson',
fields=[
],
options={
'proxy': True,
'indexes': [],
'constraints': [],
},
bases=('advmodels.person',),
),
migrations.CreateModel(
name='BookReview',
fields=[
('article_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, to='advmodels.article')),
('book_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='advmodels.book')),
],
bases=('advmodels.book', 'advmodels.article'),
),
]
40 changes: 40 additions & 0 deletions tutproject/advmodels/migrations/0002_auto_20210713_1940.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Generated by Django 3.2.5 on 2021-07-13 19:40

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


class Migration(migrations.Migration):

dependencies = [
('advmodels', '0001_initial'),
]

operations = [
migrations.CreateModel(
name='Album',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
],
),
migrations.CreateModel(
name='Artist',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=10)),
],
),
migrations.CreateModel(
name='Song',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('album', models.ForeignKey(on_delete=django.db.models.deletion.RESTRICT, to='advmodels.album')),
('artist', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='advmodels.artist')),
],
),
migrations.AddField(
model_name='album',
name='artist',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='advmodels.artist'),
),
]
19 changes: 19 additions & 0 deletions tutproject/advmodels/migrations/0003_alter_song_album.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Generated by Django 3.2.5 on 2021-07-13 19:59

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


class Migration(migrations.Migration):

dependencies = [
('advmodels', '0002_auto_20210713_1940'),
]

operations = [
migrations.AlterField(
model_name='song',
name='album',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='advmodels.album'),
),
]
54 changes: 40 additions & 14 deletions tutproject/advmodels/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,22 @@ class MyPerson(Person):
class Meta:
proxy = True

def do_something(self):
# ...
pass
# def do_something(self):
# # ...
# pass


# Multiple inheritance
class Article(models.Model):
article_id = models.AutoField(primary_key=True)
...
# class Article(models.Model):
# article_id = models.AutoField(primary_key=True)
# # ...

class Book(models.Model):
book_id = models.AutoField(primary_key=True)
...
# class Book(models.Model):
# book_id = models.AutoField(primary_key=True)
# # ...

class BookReview(Book, Article):
pass
# class BookReview(Book, Article):
# pass


# or
Expand All @@ -66,11 +66,37 @@ class Piece(models.Model):

class Article(Piece):
article_piece = models.OneToOneField(Piece, on_delete=models.CASCADE, parent_link=True)
...
# ...

class Book(Piece):
book_piece = models.OneToOneField(Piece, on_delete=models.CASCADE, parent_link=True)
...
# ...

class BookReview(Book, Article):
pass
pass



class Artist(models.Model):
name = models.CharField(max_length=10)

class Album(models.Model):
artist = models.ForeignKey(Artist, on_delete=models.CASCADE)

class Song(models.Model):
artist = models.ForeignKey(Artist, on_delete=models.CASCADE)
album = models.ForeignKey(Album, on_delete=models.RESTRICT) #test with models.CASCADE

# examples
# >>> artist_one = Artist.objects.create(name='artist one')
# >>> artist_two = Artist.objects.create(name='artist two')
# >>> album_one = Album.objects.create(artist=artist_one)
# >>> album_two = Album.objects.create(artist=artist_two)
# >>> song_one = Song.objects.create(artist=artist_one, album=album_one)
# >>> song_two = Song.objects.create(artist=artist_one, album=album_two)
# >>> album_one.delete()
# # Raises RestrictedError.
# >>> artist_two.delete()
# # Raises RestrictedError.
# >>> artist_one.delete()
# (4, {'Song': 2, 'Album': 1, 'Artist': 1})
5 changes: 4 additions & 1 deletion tutproject/todo/admin.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
from django.contrib import admin
from .models import taskModels
from .models import taskModels,subTaskModels,groupModels,testFieldsMoels
# Register your models here.


admin.site.register(taskModels)
admin.site.register(subTaskModels)
admin.site.register(groupModels)
admin.site.register(testFieldsMoels)

72 changes: 72 additions & 0 deletions tutproject/todo/migrations/0006_auto_20210713_1750.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Generated by Django 3.2.5 on 2021-07-13 17:50

import datetime
from django.db import migrations, models
from django.utils.timezone import utc


class Migration(migrations.Migration):

dependencies = [
('todo', '0005_student'),
]

operations = [
migrations.DeleteModel(
name='Student',
),
migrations.AddField(
model_name='groupmodels',
name='created_at',
field=models.DateTimeField(auto_now_add=True, default=datetime.datetime(2021, 7, 13, 17, 49, 4, 74754, tzinfo=utc)),
preserve_default=False,
),
migrations.AddField(
model_name='groupmodels',
name='expire_date',
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name='groupmodels',
name='name',
field=models.CharField(default='', max_length=50),
preserve_default=False,
),
migrations.AddField(
model_name='groupmodels',
name='status',
field=models.CharField(choices=[('disable', 'غیرفعال'), ('enable', 'فعال'), ('doing', 'در حال انجام'), ('done', 'انجام شده'), ('expire', 'منقضی'), ('archive', 'ارشیو'), ('unkown', 'بی سرپرست')], default='enable', max_length=10),
),
migrations.AddField(
model_name='groupmodels',
name='updated_at',
field=models.DateTimeField(auto_now=True),
),
migrations.AddField(
model_name='subtaskmodels',
name='description',
field=models.TextField(default=''),
preserve_default=False,
),
migrations.AddField(
model_name='subtaskmodels',
name='expire_date',
field=models.DateTimeField(blank=True, null=True),
),
migrations.AddField(
model_name='subtaskmodels',
name='pority',
field=models.IntegerField(choices=[(0, 'بی اهمیت'), (1, 'کم اهمیت'), (2, 'توجه'), (3, 'قابل توجه'), (4, 'مهم'), (5, 'ضروری')], default=4),
),
migrations.AddField(
model_name='subtaskmodels',
name='status',
field=models.CharField(choices=[('disable', 'غیرفعال'), ('enable', 'فعال'), ('doing', 'در حال انجام'), ('done', 'انجام شده'), ('expire', 'منقضی'), ('archive', 'ارشیو'), ('unkown', 'بی سرپرست')], default='enable', max_length=10),
),
migrations.AddField(
model_name='subtaskmodels',
name='title',
field=models.CharField(default='', max_length=50),
preserve_default=False,
),
]
52 changes: 52 additions & 0 deletions tutproject/todo/migrations/0007_auto_20210713_1828.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Generated by Django 3.2.5 on 2021-07-13 18:28

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone


class Migration(migrations.Migration):

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('todo', '0006_auto_20210713_1750'),
]

operations = [
migrations.AddField(
model_name='group_taskmodels',
name='created_at',
field=models.DateTimeField(auto_now_add=True, default=django.utils.timezone.now),
preserve_default=False,
),
migrations.AddField(
model_name='group_taskmodels',
name='group',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='todo.groupmodels'),
preserve_default=False,
),
migrations.AddField(
model_name='group_taskmodels',
name='task',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='todo.taskmodels'),
preserve_default=False,
),
migrations.AddField(
model_name='group_taskmodels',
name='updated_at',
field=models.DateTimeField(auto_now=True),
),
migrations.AddField(
model_name='subtaskmodels',
name='task',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='todo.taskmodels'),
preserve_default=False,
),
migrations.AddField(
model_name='taskmodels',
name='user',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='auth.user'),
preserve_default=False,
),
]
24 changes: 24 additions & 0 deletions tutproject/todo/migrations/0008_testfieldsmoels.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Generated by Django 3.2.5 on 2021-07-13 18:43

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('todo', '0007_auto_20210713_1828'),
]

operations = [
migrations.CreateModel(
name='testFieldsMoels',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(db_column='nameTest', max_length=500)),
('code', models.IntegerField(db_column='codeTest', db_index=True)),
('constant', models.CharField(db_column='constantTest', default='constant field', editable=False, max_length=500)),
('error_messages', models.CharField(error_messages={'blank': 'داداجون ول کن مارو باشه', 'null': ' داداش نکن این کارو'}, max_length=500)),
('help_text', models.CharField(help_text='این متن برای کمک به توفقط والا', max_length=500)),
],
),
]
Loading

0 comments on commit 1a41b8d

Please sign in to comment.