Error 'str' object has no attribute '_meta' . How to debug ?

52 views
Skip to first unread message

Satyajit Sarangi

unread,
Jun 14, 2011, 8:53:10 AM6/14/11
to Django users
I want to create a model that brings user_id of the user_auth table as
foreign key , layer_id from layer table(defined by me) as also a
foreign key . Combine both to form a primary key . and have another
integer called perm .
My model looks like this


from django.contrib.gis.db import models
from django.contrib.auth.models import User
from django.contrib.contenttypes.models import ContentType
from maps.models import Sdr_Layer

class PermiLayer(models.Model):
user = models.ForeignKey(User)
table =
models.ForeignKey(ContentType,related_name='custom_permission_set')
permi = models.IntegerField()



My view logic is this

if form.is_valid():
data = form.cleaned_data
rad1=form.cleaned_data['radio1']
rad2=form.cleaned_data['radio2']
user=User.objects.get(username = data['user'])

perm = PermiLayer()
perm.user = user
perm.table = user_type =
ContentType.objects.get_for_model('maps_parking')
perm.permi = rad1 + rad2
perm.save()

This gives me the error that I have mentioned above . How do I change
the model and the view to remove the error ?

Tom Evans

unread,
Jun 14, 2011, 9:43:02 AM6/14/11
to django...@googlegroups.com
On Tue, Jun 14, 2011 at 1:53 PM, Satyajit Sarangi
<writeto...@gmail.com> wrote:
> I want to create a model that brings user_id of the user_auth table as
> foreign key , layer_id from layer table(defined by me) as also a
> foreign key . Combine both to form a primary key . and have another
> integer called perm .
> My model looks like this
>                        perm.table = user_type =
> ContentType.objects.get_for_model('maps_parking')

https://docs.djangoproject.com/en/1.3/ref/contrib/contenttypes/#django.contrib.contenttypes.models.ContentTypeManager.get_for_model

get_for_model takes a model type (eg User) or a model instance. It
does not take a string.

Cheers

Tom

Reply all
Reply to author
Forward
0 new messages