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 ErrorThe server encountered an error and could not complete
your request.
If the problem persists, please
report<http://code.google.com/appengine/community.html> 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 [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.
from django.db import models
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)