from django.contrib import admin
### Zip
class Province(models.Model):
province_name = models.CharField(max_length=145)
class Meta:
verbose_name = "provincie"
def __unicode__(self):
return self.province_name
class Zip(models.Model):
zip_code = models.IntegerField()
zip_name = models.CharField(max_length=75)
zip_lang = models.CharField(max_length=2)
province = models.ForeignKey(Province)
class Meta:
ordering = ["zip_name"]
verbose_name = "postcode"
def __unicode__(self):
return self.zip_name + ' (' + unicode(self.zip_code) +')'
### Contact
class Contact_type(models.Model):
contact_type = models.CharField(max_length=50)
class Meta:
verbose_name = "contact type"
verbose_name_plural = "contact types"
def __unicode__(self):
return self.contact_type
### Collaborator
class Collaborator_function(models.Model):
collaborator_function_name = models.CharField(max_length=100)
class Meta:
verbose_name = "medewerker functie"
verbose_name_plural = "medewerker functies"
def __unicode__(self):
return self.collaborator_function_name
class Collaborator_type(models.Model):
Collaborator_type_name = models.CharField(max_length=100)
def __unicode__(self):
return self.Collaborator_type_name
class Meta:
verbose_name = "medewerker type"
verbose_name_plural = "medewerker types"
class Collaborator(models.Model):
collaborator_first_name = models.CharField(max_length=45)
collaborator_last_name = models.CharField(max_length=45)
collaborator_birth_year = models.DateField()
collaborator_start_year = models.DateField()
collaborator_end_year = models.DateField(blank=True,null=True)
collaborator_function = models.ForeignKey(Collaborator_function)
collaborator_type = models.ForeignKey(Collaborator_type)
collaborator_legal = models.CharField(max_length=100,blank=True,null=True)
collaborator_vat = models.CharField(max_length=100,blank=True,null=True)
collaborator_zoho_id= models.IntegerField(blank=True,null=True)
collaborator_maximmo_id = models.IntegerField(blank=True,null=True)
collaborator_biv_number = models.IntegerField(blank=True,null=True)
collaborator_drupal_id = models.IntegerField(blank=True,null=True)
def __unicode__(self):
return self.collaborator_first_name + ' ' + self.collaborator_last_name
class Meta:
verbose_name = "medewerker"
verbose_name_plural = "medewerkers"
class Contact_per_collaborator(models.Model):
collaborator = models.ForeignKey(Collaborator)
contact_link = models.CharField(max_length=150)
contact_type = models.ForeignKey(Contact_type)
def __unicode__(self):
return self.contact_link
class Meta:
verbose_name = "contact"
class commission_collaborator_percentage(models.Model):
collaborator = models.ForeignKey(Collaborator)
commission_collaborator_percentage = models.IntegerField()
commission_collaborator_start_date = models.DateField()
commission_collaborator_end_date = models.DateField()
class Meta:
verbose_name = "Medewerker commissie (percentage)"
verbose_name_plural = "Medewerker commissies (percentage)"
### Office
class Office(models.Model):
office_name = models.CharField(max_length=100)
office_legal = models.CharField(max_length=100)
office_address_street = models.CharField(max_length=100)
office_address_number = models.CharField(max_length=25)
office_zip = models.ForeignKey(Zip)
office_vat_number = models.CharField(max_length=100)
office_biv_number = models.IntegerField()
office_maximmo_id = models.IntegerField()
office_drupal_id = models.IntegerField(blank=True,null=True)
collaborator_responsible = models.ForeignKey(Collaborator, related_name="collaborator_reception")
collaborator_reception = models.ForeignKey(Collaborator, related_name="collaborator_responsible")
commission_share_in = models.IntegerField()
commission_share_out= models.IntegerField()
office_parent = models.ForeignKey('self', null=True, db_column='office_parent', blank=True)
def __unicode__(self):
return self.office_name
class Meta:
verbose_name = "kantoor"
verbose_name_plural = "kantoren"
class Contact_per_office(models.Model):
office = models.ForeignKey(Office)
contact_link = models.CharField(max_length=150)
contact_type = models.ForeignKey(Contact_type)
def __unicode__(self):
return self.contact_link
class Meta:
verbose_name = "contact"
### region
class Region(models.Model):
region_name = models.CharField(max_length=75)
office = models.ForeignKey(Office)
region_primary = models.BooleanField()
def __unicode__(self):
return self.region_name
class Meta:
verbose_name = "regio"
verbose_name_plural = "regio's"
class Zip_per_region(models.Model):
region = models.ForeignKey(Region)
zip = models.ForeignKey(Zip)
class Meta:
verbose_name = "postcode"
### Poule
class Poule(models.Model):
poule_name = models.CharField(max_length=145)
poule_start_date = models.DateField()
poule_end_date = models.DateField(blank=True,null=True)
office = models.ForeignKey(Office)
def __unicode__(self):
return self.poule_name
class Collaborator_per_poule(models.Model):
poule = models.ForeignKey(Poule)
collaborator = models.ForeignKey(Collaborator)
collaborator_share = models.IntegerField()
collaborator_start_date = models.DateField()
collaborator_end_date = models.DateField(blank=True,null=True)
class Meta:
verbose_name = "medewerker"
### Commission
class Commission_type(models.Model):
type_name = models.CharField(max_length=145)
def __unicode__(self):
return self.type_name
class Meta:
verbose_name = "Commissie type"
### Property
class Property(models.Model):
maximmo_ref = models.CharField(max_length=150)
property_ref = models.IntegerField()
property_address = models.CharField(max_length=150)
property_zip = models.ForeignKey(Zip)
class Meta:
verbose_name = "pand"
verbose_name_plural = "panden"
### Unit
class Unit_type(models.Model):
unit_name = models.CharField(max_length=145)
def __unicode__(self):
return self.unit_name
class Meta:
verbose_name = 'unit type'
### Formula
class Formula_type(models.Model):
formula_name = models.CharField(max_length=145)
class Meta:
verbose_name = 'formule type'
### Transaction
class Transaction_type(models.Model):
TYPE = (
('I', 'In'),
('O', 'Out'),
)
transaction_type_name = models.CharField(max_length=100)
transaction_type_method =models.CharField(max_length=1,choices=TYPE)
class Meta:
verbose_name = 'transactie type'
class Transaction(models.Model):
END_STATUS = (
('S', 'Sold'),
('R', 'Rented'),
('T', 'Terminated'),
)
transaction_start_date = models.DateField()
transaction_end_date = models.DateField()
transaction_end_status = models.CharField(max_length=1,choices=END_STATUS)
transaction_end_discription = models.TextField(blank=True)
unit_type = models.ForeignKey(Unit_type)
property = models.ForeignKey(Property)
office_second_id = models.ForeignKey(Office,related_name="office_third_id",blank=True,null=True)
office_third_id = models.ForeignKey(Office, related_name="office_second_id",blank=True,null=True)
commission_office_second_percentage = models.IntegerField(blank=True,null=True)
commission_office_third_percentage = models.IntegerField(blank=True,null=True)
#in
transaction_type_in = models.ForeignKey(Transaction_type,related_name="transaction_type_out")
formula_type_in = models.ForeignKey(Formula_type, related_name="formula_type_out")
commission_type_in = models.ForeignKey(Commission_type, related_name="commission_type_out")
commission_fix_in = models.IntegerField()
commission_percentage_in = models.IntegerField()
commission_external_amount_in = models.IntegerField()
#out
transaction_type_out = models.ForeignKey(Transaction_type,related_name="transaction_type_in")
formula_type_out = models.ForeignKey(Formula_type,related_name="formula_type_in")
commission_type_out = models.ForeignKey(Commission_type,related_name="commission_type_in")
commission_fix_out = models.IntegerField()
commission_percentage_out = models.IntegerField()
commission_external_amount_out = models.IntegerField()
class Meta:
verbose_name = "transactie"
class Poule_per_transaction(models.Model):
TRANSACTION_TYPES = (
('I', 'In'),
('O', 'Out'),
)
poule = models.ForeignKey(Poule)
transaction = models.ForeignKey(Transaction)
transaction_type = models.CharField(max_length=1,choices=TRANSACTION_TYPES)
poule_percentage = models.IntegerField();
class Meta:
verbose_name = "poule transactie"
### target
class Target(models.Model):
target_start_date = models.DateField()
target_end_date = models.DateField()
target_goal_price = models.IntegerField()
target_goal_quantity = models.IntegerField(blank=True,null=True)
poule = models.ForeignKey(Poule)
unit_type = models.ForeignKey(Unit_type)
###### ADMIN ####
### Collaborator
class ContactPerCollaborator(admin.TabularInline):
model=Contact_per_collaborator
extra=3
class CollaboratorAdmin(admin.ModelAdmin):
list_display = ["collaborator_last_name","collaborator_first_name","collaborator_function"]
list_filter = ["collaborator_last_name"]
inlines =[ContactPerCollaborator]
### office
class ContactPerOffice(admin.TabularInline):
model = Contact_per_office
extra = 3
class OfficeAdmin(admin.ModelAdmin):
inlines = [ContactPerOffice]
### zip
class ZipInline(admin.TabularInline):
model = Zip_per_region
extra = 25
class RegionAdmin(admin.ModelAdmin):
inlines = [ZipInline]
### Poule
class CollaboratorPerPoule(admin.TabularInline):
model=Collaborator_per_poule
extra=5
class PouleAdmin(admin.ModelAdmin):
inlines = [CollaboratorPerPoule]
admin.site.register(Collaborator, CollaboratorAdmin)
admin.site.register(Region, RegionAdmin)
admin.site.register(Office,OfficeAdmin)
admin.site.register(Province)
admin.site.register(Contact_type)
admin.site.register(Poule,PouleAdmin)
admin.site.register(Target)
admin.site.register(Unit_type)
admin.site.register(Collaborator_type)
admin.site.register(Collaborator_function)
admin.site.register(commission_collaborator_percentage)
admin.site.register(Commission_type)
admin.site.register(Transaction_type)
Hi everybody,
I've got a problem while accessing a model in the Django Adminpanel.
I uploaded the models file, i hope this makes it easier for you to understand my problem.
When I try to add or view a Region in the adminpanel, the server usually gives me an 500 server error.
This is what i get to see:
Error: Server Error
The server encountered an error and could not complete your request.
If the problem persists, please report your problem and mention this error message and the query that caused it.
Now, in the uploaded file you may (or not) have seen that I want to have 25 fields from Zip.
My guess is that Django connects to the database for every listbox it is generating.
Is there a way to cache the 2000+ zips?
Or, am I seeing it wrong? What should I do then?
Greetings
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/uvmzpHMtx0gJ.
To post to this group, send email to django-users@googlegroups.com.
To unsubscribe from this group, send email to django-users+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
No comments:
Post a Comment