AttributeError: 'str' object has no attribute '_default_manager' from
related.py django 1.0.2
-------------------------------------------get this error when
accessing any part of site
-----------------------------------------------------
MOD_PYTHON ERROR
ProcessId: 2637
Interpreter: 'TS1.unassigned-domain'
ServerName: 'TS1.unassigned-domain'
DocumentRoot: '/var/www/'
URI: '/sipprovision/admin'
Location: '/sipprovision/'
Directory: None
Filename: '/var/www/sipprovision/admin'
PathInfo: ''
Phase: 'PythonHandler'
Handler: 'django.core.handlers.modpython'
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line
1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)
File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line
1229, in _process_target
result = _execute_target(config, req, object, arg)
File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line
1128, in _execute_target
result = object(arg)
File "/usr/lib/python2.5/site-packages/django/core/handlers/
modpython.py", line 228, in handler
return ModPythonHandler()(req)
File "/usr/lib/python2.5/site-packages/django/core/handlers/
modpython.py", line 201, in __call__
response = self.get_response(request)
File "/usr/lib/python2.5/site-packages/django/core/handlers/
base.py", line 67, in get_response
response = middleware_method(request)
File "/usr/lib/python2.5/site-packages/django/middleware/common.py",
line 56, in process_request
if (not _is_valid_path(request.path_info) and
File "/usr/lib/python2.5/site-packages/django/middleware/common.py",
line 142, in _is_valid_path
urlresolvers.resolve(path)
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py",
line 246, in resolve
return get_resolver(urlconf).resolve(path)
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py",
line 179, in resolve
for pattern in self.urlconf_module.urlpatterns:
File "/usr/lib/python2.5/site-packages/django/core/urlresolvers.py",
line 198, in _get_urlconf_module
self._urlconf_module = __import__(self.urlconf_name, {}, {}, [''])
File "/var/www/sipprovision/urls.py", line 2, in <module>
from extensions.models import Extension
File "/var/www/sipprovision/extensions/models.py", line 42, in
<module>
class ExtensionForm(ModelForm):
File "/usr/lib/python2.5/site-packages/django/forms/models.py", line
195, in __new__
opts.exclude, formfield_callback)
File "/usr/lib/python2.5/site-packages/django/forms/models.py", line
162, in fields_for_model
formfield = formfield_callback(f)
File "/usr/lib/python2.5/site-packages/django/forms/models.py", line
177, in <lambda>
lambda f: f.formfield())
File "/usr/lib/python2.5/site-packages/django/db/models/fields/
related.py", line 694, in formfield
'queryset': self.rel.to._default_manager.complex_filter(
AttributeError: 'str' object has no attribute '_default_manager'
----------------------------------------------
extensions.models.py---------------------------------------------------------------
from django.db import models
from sipconfig import *
from django.forms import ModelForm, fields, TextInput, IntegerField
# Create your models here.
class Plc(models.Model):
name=models.CharField(max_length=30)
ip_addr=models.IPAddressField()
ip_port=models.IntegerField(default=9600)
plc_net=models.IntegerField()
plc_node=models.IntegerField()
plc_unit=models.IntegerField()
def __unicode__(self):
return self.name
class Admin: pass
class VoipGateway(models.Model):
name=models.OneToOneField('sipconfig.station')
def __unicode__(self):
return self.name.dev_name
class Admin: pass
class Extension(models.Model):
PREFIX_CHOICE=(
('1','station'),
('9','lock'),
('8','voicemail'))
context=models.ForeignKey('sipconfig.station')
plc_sys=models.ForeignKey(Plc)
gateway=models.ForeignKey(VoipGateway)
word=models.IntegerField()
bit=models.IntegerField()
prefix=models.CharField(max_length=2,choices=PREFIX_CHOICE)
ph_number=models.CharField(max_length=8)
def __unicode__(self):
return self.context.dev_name +'-'+ self.ph_number
class Admin: pass
class ExtensionForm(ModelForm):
class Meta:
model = Extension
class ExtAddToContextForm(ModelForm):
word_increment=IntegerField(widget=TextInput,initial=0)
bit_increment=IntegerField(widget=TextInput,initial=0)
phone_increment = IntegerField(widget=TextInput,initial=0)
class Meta:
model = Extension
class PlcForm(ModelForm):
class Meta:
model=Plc
class VoipGatewayForm(ModelForm):
class Meta:
model=VoipGateway
-----------------------------------------------------------
extensions.admin.py
----------------------------------------------------------------
from sipprovision.extensions.models import Plc,VoipGateway,Extension
from django.contrib import admin
class ExtensionAdmin(admin.ModelAdmin):
list_display=
('context','plc_sys','gateway','word','bit','prefix','ph_number')
list_filter=('plc_sys','prefix')
class PlcAdmin(admin.ModelAdmin):
list_display=
('name','ip_addr','ip_port','plc_node','plc_net','plc_unit')
admin.site.register(Plc,PlcAdmin)
admin.site.register(VoipGateway)
admin.site.register(Extension,ExtensionAdmin)
----------------------------------------------------------------------
urls.py
----------------------------------------------------------------------
from django.conf.urls.defaults import *
from sipprovision.extensions.models import Extension
from sipprovision.extensions.views import
ExtensionDetail,SysDetail,ExtensionAdd,ExtAddToContext,extscripts,allscripts
#from sipprovision.dialscripts.views import extscripts, allscripts
from sipprovision.sipconfig.views import
sipconf,station_add,create_sip_file
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
ext_dict={
'queryset': Extension.objects.all(),
}
urlpatterns = patterns('',
# Example:
# (r'^sipprovision/', include('sipprovision.foo.urls')),
# Uncomment the admin/doc line below and add
'django.contrib.admindocs'
# to INSTALLED_APPS to enable admin documentation:
# (r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
(r'^admin/(.*)', admin.site.root),
(r'^ext/(?P<ph>\d+)/$',ExtensionDetail),
(r'^ext/add/$',ExtensionAdd),
(r'^ext/add/(?P<context>\w+)',ExtAddToContext),
(r'^ext/scripts/all$',allscripts),
(r'^ext/scripts/(?P<sel_context>\w+)',extscripts),
(r'^sip/conf$',sipconf),
(r'^station/add/$',station_add ),
(r'^sip/createfile/$',create_sip_file),
(r'^sys/(?P<sys>\d+)/$',SysDetail),
)
------------------------------------------------------- related.py
method
----------------------------------------------------------------
def formfield(self, **kwargs):
defaults = {
'form_class': forms.ModelChoiceField,
'queryset': self.rel.to._default_manager.complex_filter(
self.rel.limit_choices_to),
'to_field_name': self.rel.field_name,
}
defaults.update(kwargs)
return super(ForeignKey, self).formfield(**defaults)
Please help me out.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
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
-~----------~----~----~----~------~----~------~--~---