From 3ae7716179dd4787c463adf39868a1f64ac24b29 Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Tue, 30 Oct 2012 21:16:44 +0100 Subject: [PATCH 1/5] models.py: rearrange classes, singular --- dusken/main/models.py | 185 ++++++++++++++++++++---------------------- 1 file changed, 90 insertions(+), 95 deletions(-) diff --git a/dusken/main/models.py b/dusken/main/models.py index 6bc6308..3514082 100644 --- a/dusken/main/models.py +++ b/dusken/main/models.py @@ -1,46 +1,91 @@ -# This is an auto-generated Django model module. -# You'll have to do the following manually to clean this up: -# * Rearrange models' order -# * Make sure each model has one field with primary_key=True -# Feel free to rename the models, but don't rename db_table values or field names. -# # Also note: You'll have to insert the output of 'django-admin.py sqlcustom [appname]' # into your database. from django.db import models -class NorwegianAddress(models.Model): - norwegian_addressid = models.IntegerField(primary_key=True) +class Country(models.Model): + country_id = models.IntegerField(primary_key=True) + name = models.CharField(max_length=50, unique=True) + class Meta: + db_table = u'country' + +class Address(models.Model): + address_id = models.IntegerField(primary_key=True) postalcode = models.CharField(max_length=10) + addressline1 = models.CharField(max_length=255) placename = models.CharField(max_length=100) + addressline2 = models.CharField(max_length=255) + country_id = models.ForeignKey(Country, db_column='country_id') + class Meta: + db_table = u'address' + +class Member(models.Model): + member_id = models.IntegerField(primary_key=True) + email = models.CharField(max_length=150, unique=True) + username = models.CharField(max_length=40, unique=True) + phonenumber = models.IntegerField(unique=True, null=True, blank=True) + givenname = models.CharField(max_length=200, blank=True) + dateofbirth = models.DateField(null=True, blank=True) + surname = models.CharField(max_length=200, blank=True) + address_id = models.ForeignKey(Address, null=True, db_column='address_id', blank=True) + class Meta: + db_table = u'member' + +class NorwegianAddress(models.Model): + norwegian_address_id = models.IntegerField(primary_key=True) + postal_code = models.CharField(max_length=10) + place_name = models.CharField(max_length=100) class Meta: db_table = u'norwegian_address' class ExtendedMemberDetails(models.Model): - membersid = models.ForeignKey(Members, primary_key=True, db_column='membersid') + member_id = models.ForeignKey(Member, primary_key=True, db_column='member_id') class Meta: db_table = u'extended_member_details' class PaymentForMembership(models.Model): - payment_for_membershipid = models.IntegerField(primary_key=True) - sms_paymentid = models.IntegerField(unique=True, null=True, blank=True) - webshop_paymentid = models.IntegerField(unique=True, null=True, blank=True) - voucherid = models.IntegerField(unique=True, null=True, blank=True) + payment_for_membership_id = models.IntegerField(primary_key=True) + sms_payment_id = models.IntegerField(unique=True, null=True, blank=True) + webshop_payment_id = models.IntegerField(unique=True, null=True, blank=True) + voucher_id = models.IntegerField(unique=True, null=True, blank=True) class Meta: db_table = u'payment_for_membership' +class MembershipDuration(models.Model): + membership_duration_id = models.IntegerField(primary_key=True) + name = models.CharField(max_length=50, unique=True) + minimum_duration = models.CharField(max_length=30) + class Meta: + db_table = u'membership_duration' + class Membership(models.Model): - membershipid = models.IntegerField(primary_key=True) - startdate = models.DateField() - membersid = models.ForeignKey(Members, db_column='membersid') - membership_durationid = models.ForeignKey(MembershipDuration, db_column='membership_durationid') - payment_for_membershipid = models.ForeignKey(PaymentForMembership, unique=True, null=True, db_column='payment_for_membershipid', blank=True) + membership_id = models.IntegerField(primary_key=True) + start_date = models.DateField() + member_id = models.ForeignKey(Member, db_column='member_id') + membership_duration_id = models.ForeignKey(MembershipDuration, db_column='membership_duration_id') + payment_for_membership_id = models.ForeignKey(PaymentForMembership, unique=True, null=True, db_column='payment_for_membership_id', blank=True) class Meta: db_table = u'membership' +class Group(models.Model): + group_id = models.IntegerField(primary_key=True) + name = models.CharField(max_length=50, unique=True) + class Meta: + db_table = u'group' + +class GroupMembership(models.Model): + group_membership_id = models.IntegerField(primary_key=True) + start_date = models.DateField() + member_id = models.ForeignKey(Member, db_column='member_id') + group_id = models.ForeignKey(Group, db_column='group_id') + membership_duration_id = models.ForeignKey(MembershipDuration, db_column='membership_duration_id') + class Meta: + db_table = u'group_membership' + + class PaymentForGroupMembership(models.Model): - group_membershipid = models.ForeignKey(GroupMembership, primary_key=True, db_column='group_membershipid') - startdate = models.DateField(null=True, blank=True) + group_membership_id = models.ForeignKey(GroupMembership, primary_key=True, db_column='group_membership_id') + start_date = models.DateField(null=True, blank=True) amount = models.DecimalField(null=True, max_digits=19, decimal_places=4, blank=True) reference = models.CharField(max_length=100, blank=True) note = models.CharField(max_length=500, blank=True) @@ -48,44 +93,21 @@ class PaymentForGroupMembership(models.Model): db_table = u'payment_for_group_membership' class Expires(models.Model): - expiresid = models.IntegerField(primary_key=True) + expires_id = models.IntegerField(primary_key=True) monthofyear = models.IntegerField() dayofmonth = models.IntegerField() class Meta: db_table = u'expires' class ExpiresformanytomanymembershipDuration(models.Model): - expiresid = models.ForeignKey(Expires, db_column='expiresid') - membership_durationid = models.ForeignKey(MembershipDuration, db_column='membership_durationid') + expires_id = models.ForeignKey(Expires, db_column='expires_id') + membership_duration_id = models.ForeignKey(MembershipDuration, db_column='membership_duration_id') class Meta: db_table = u'expiresformanytomanymembership_duration' -class MembershipDuration(models.Model): - membership_durationid = models.IntegerField(primary_key=True) - name = models.CharField(max_length=50, unique=True) - minimumduration = models.CharField(max_length=30) - class Meta: - db_table = u'membership_duration' - -class Address(models.Model): - addressid = models.IntegerField(primary_key=True) - postalcode = models.CharField(max_length=10) - addressline1 = models.CharField(max_length=255) - placename = models.CharField(max_length=100) - addressline2 = models.CharField(max_length=255) - countryid = models.ForeignKey(Country, db_column='countryid') - class Meta: - db_table = u'address' - -class Country(models.Model): - countryid = models.IntegerField(primary_key=True) - name = models.CharField(max_length=50, unique=True) - class Meta: - db_table = u'country' - class Legacy(models.Model): - legacyid = models.IntegerField(primary_key=True) - membersid = models.ForeignKey(Members, unique=True, null=True, db_column='membersid', blank=True) + legacy_id = models.IntegerField(primary_key=True) + member_id = models.ForeignKey(Member, unique=True, null=True, db_column='member_id', blank=True) class Meta: db_table = u'legacy' @@ -94,70 +116,43 @@ class Institution(models.Model): class Meta: db_table = u'institution' -class Groups(models.Model): - groupsid = models.IntegerField(primary_key=True) - name = models.CharField(max_length=50, unique=True) - class Meta: - db_table = u'groups' - -class Subgroups(models.Model): - subgroupsid = models.IntegerField(primary_key=True) +class Subgroup(models.Model): + subgroup_id = models.IntegerField(primary_key=True) name = models.CharField(max_length=50) - groupsid = models.ForeignKey(Groups, db_column='groupsid') + group_id = models.ForeignKey(Group, db_column='group_id') class Meta: - db_table = u'subgroups' + db_table = u'subgroup' -class GroupMembership(models.Model): - group_membershipid = models.IntegerField(primary_key=True) - startdate = models.DateField() - membersid = models.ForeignKey(Members, db_column='membersid') - groupsid = models.ForeignKey(Groups, db_column='groupsid') - membership_durationid = models.ForeignKey(MembershipDuration, db_column='membership_durationid') +class Position(models.Model): + position_id = models.IntegerField(primary_key=True) + name = models.CharField(max_length=50) + subgroup_id = models.ForeignKey(Subgroup, db_column='subgroup_id') + is_static = models.NullBooleanField(null=True, blank=True) class Meta: - db_table = u'group_membership' + db_table = u'position' class PositionInfo(models.Model): - position_infoid = models.IntegerField(primary_key=True) - positionsid = models.ForeignKey(Positions, db_column='positionsid') - group_membershipid = models.ForeignKey(GroupMembership, null=True, db_column='group_membershipid', blank=True) + position_info_id = models.IntegerField(primary_key=True) + position_id = models.ForeignKey(Position, db_column='position_id') + group_membership_id = models.ForeignKey(GroupMembership, null=True, db_column='group_membership_id', blank=True) email = models.CharField(max_length=150, blank=True) phonenumber = models.IntegerField(null=True, blank=True) class Meta: db_table = u'position_info' -class Positions(models.Model): - positionsid = models.IntegerField(primary_key=True) - name = models.CharField(max_length=50) - subgroupsid = models.ForeignKey(Subgroups, db_column='subgroupsid') - isstatic = models.BooleanField(null=True, blank=True) - class Meta: - db_table = u'positions' - -class Members(models.Model): - membersid = models.IntegerField(primary_key=True) - email = models.CharField(max_length=150, unique=True) - username = models.CharField(max_length=40, unique=True) - phonenumber = models.IntegerField(unique=True, null=True, blank=True) - givenname = models.CharField(max_length=200, blank=True) - dateofbirth = models.DateField(null=True, blank=True) - surname = models.CharField(max_length=200, blank=True) - addressid = models.ForeignKey(Address, null=True, db_column='addressid', blank=True) - class Meta: - db_table = u'members' - -class MembershasplaceOfStudy(models.Model): - membersid = models.ForeignKey(Members, db_column='membersid') - place_of_studyid = models.ForeignKey(PlaceOfStudy, db_column='place_of_studyid') - class Meta: - db_table = u'membershasplace_of_study' - class PlaceOfStudy(models.Model): - place_of_studyid = models.IntegerField(primary_key=True) + place_of_study_id = models.IntegerField(primary_key=True) fromdate = models.DateField() institutionname = models.ForeignKey(Institution, db_column='institutionname') class Meta: db_table = u'place_of_study' +class MemberhasplaceOfStudy(models.Model): + member_id = models.ForeignKey(Member, db_column='member_id') + place_of_study_id = models.ForeignKey(PlaceOfStudy, db_column='place_of_study_id') + class Meta: + db_table = u'membershasplace_of_study' + class SchemaMigrations(models.Model): version = models.CharField(max_length=255, unique=True) class Meta: From 3e8d56a086c55e67648ef9dfc9715870210daf1e Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Tue, 30 Oct 2012 21:45:45 +0100 Subject: [PATCH 2/5] Comments --- dusken/main/models.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/dusken/main/models.py b/dusken/main/models.py index 3514082..303347c 100644 --- a/dusken/main/models.py +++ b/dusken/main/models.py @@ -1,5 +1,16 @@ -# Also note: You'll have to insert the output of 'django-admin.py sqlcustom [appname]' -# into your database. +# FIXME +# - Reduce the database more? +# - ExpiresformanytomanymembershipDuration +# - Institution +# - Member has place of study? +# - Subgroups +# - Positions +# - Only one type of adress? +# - ExtendedMemberdetail? +# - Legacy_id as extended member detail? + +# TODO +# - autofields created, updated from django.db import models @@ -38,7 +49,7 @@ class NorwegianAddress(models.Model): class Meta: db_table = u'norwegian_address' -class ExtendedMemberDetails(models.Model): +class ExtendedMemberDetail(models.Model): member_id = models.ForeignKey(Member, primary_key=True, db_column='member_id') class Meta: db_table = u'extended_member_details' From a4e1fc7298cc070d453913e6e85d1cbfd4b3f371 Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Mon, 5 Nov 2012 19:04:27 +0100 Subject: [PATCH 3/5] Minor --- dusken/main/models.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/dusken/main/models.py b/dusken/main/models.py index 303347c..a76bdd7 100644 --- a/dusken/main/models.py +++ b/dusken/main/models.py @@ -5,7 +5,7 @@ # - Member has place of study? # - Subgroups # - Positions -# - Only one type of adress? +# - Only one type of adress? YES # - ExtendedMemberdetail? # - Legacy_id as extended member detail? @@ -84,6 +84,7 @@ class Group(models.Model): class Meta: db_table = u'group' +# TODO Remove his and related. class GroupMembership(models.Model): group_membership_id = models.IntegerField(primary_key=True) start_date = models.DateField() @@ -163,9 +164,3 @@ class MemberhasplaceOfStudy(models.Model): place_of_study_id = models.ForeignKey(PlaceOfStudy, db_column='place_of_study_id') class Meta: db_table = u'membershasplace_of_study' - -class SchemaMigrations(models.Model): - version = models.CharField(max_length=255, unique=True) - class Meta: - db_table = u'schema_migrations' - From ff062757bb0166d2bc933eb13ca16d361ab2a50a Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Mon, 5 Nov 2012 19:07:29 +0100 Subject: [PATCH 4/5] Remove som models --- dusken/main/models.py | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/dusken/main/models.py b/dusken/main/models.py index a76bdd7..2731f91 100644 --- a/dusken/main/models.py +++ b/dusken/main/models.py @@ -84,26 +84,6 @@ class Group(models.Model): class Meta: db_table = u'group' -# TODO Remove his and related. -class GroupMembership(models.Model): - group_membership_id = models.IntegerField(primary_key=True) - start_date = models.DateField() - member_id = models.ForeignKey(Member, db_column='member_id') - group_id = models.ForeignKey(Group, db_column='group_id') - membership_duration_id = models.ForeignKey(MembershipDuration, db_column='membership_duration_id') - class Meta: - db_table = u'group_membership' - - -class PaymentForGroupMembership(models.Model): - group_membership_id = models.ForeignKey(GroupMembership, primary_key=True, db_column='group_membership_id') - start_date = models.DateField(null=True, blank=True) - amount = models.DecimalField(null=True, max_digits=19, decimal_places=4, blank=True) - reference = models.CharField(max_length=100, blank=True) - note = models.CharField(max_length=500, blank=True) - class Meta: - db_table = u'payment_for_group_membership' - class Expires(models.Model): expires_id = models.IntegerField(primary_key=True) monthofyear = models.IntegerField() @@ -143,15 +123,6 @@ class Position(models.Model): class Meta: db_table = u'position' -class PositionInfo(models.Model): - position_info_id = models.IntegerField(primary_key=True) - position_id = models.ForeignKey(Position, db_column='position_id') - group_membership_id = models.ForeignKey(GroupMembership, null=True, db_column='group_membership_id', blank=True) - email = models.CharField(max_length=150, blank=True) - phonenumber = models.IntegerField(null=True, blank=True) - class Meta: - db_table = u'position_info' - class PlaceOfStudy(models.Model): place_of_study_id = models.IntegerField(primary_key=True) fromdate = models.DateField() From d9f3efd9ac7ef1420bf3276054ce139b139272b8 Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Mon, 5 Nov 2012 19:21:32 +0100 Subject: [PATCH 5/5] One type of Address --- dusken/main/models.py | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/dusken/main/models.py b/dusken/main/models.py index 2731f91..95aecfd 100644 --- a/dusken/main/models.py +++ b/dusken/main/models.py @@ -22,11 +22,11 @@ class Country(models.Model): class Address(models.Model): address_id = models.IntegerField(primary_key=True) - postalcode = models.CharField(max_length=10) addressline1 = models.CharField(max_length=255) - placename = models.CharField(max_length=100) addressline2 = models.CharField(max_length=255) + placename = models.CharField(max_length=100) country_id = models.ForeignKey(Country, db_column='country_id') + postalcode = models.CharField(max_length=10) class Meta: db_table = u'address' @@ -42,13 +42,6 @@ class Member(models.Model): class Meta: db_table = u'member' -class NorwegianAddress(models.Model): - norwegian_address_id = models.IntegerField(primary_key=True) - postal_code = models.CharField(max_length=10) - place_name = models.CharField(max_length=100) - class Meta: - db_table = u'norwegian_address' - class ExtendedMemberDetail(models.Model): member_id = models.ForeignKey(Member, primary_key=True, db_column='member_id') class Meta: