Hi You really dont make it easy for others to help you out. It would be great if post info like, when the problem occurs like only specific urls and just post the relevant info instead of posting a huge wall of text that makes it a lot harder to find out where the problem is. Also using something like dpaste.com really helps out aswell. Now I didn't carefully read through all of the code, so I might be wrong here, but it seems like your problem is in the last part
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) 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' It looks like self.rel.to in your error case returns a string, which doesn't have the attribute _default_manager that you are calling on it. Why this happens and how to fix it I can't say. ~ Briel On 2 Mar., 17:11, Dan <danb...@gmail.com> wrote: > 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 django-users@googlegroups.com To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---