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
-~----------~----~----~----~------~----~------~--~---

Reply via email to