Oops - I should have copied and pasted from my repl. The first line should
be:

from django.contrib.contenttypes.models import ContentType

Ben

On Thu, Jul 15, 2010 at 10:52 AM, Ben Atkin <b...@benatkin.com> wrote:

> You could use Django's content types, too.
>
> from django.contrib.content_types.models import ContentType
> my_ct = ContentType.objects.get(app_label='my_app', model='MyModel')
> # ...or you could leave off app_label, if there are no conflicting model
> names
> my_ct.get_object_for_this_type(pk=my_pk)
>
> That way you could use get_object_or_404() in your view.
>
> Ben
>
>
> On Thu, Jul 15, 2010 at 10:21 AM, Jonathan Hayward <
> christos.jonathan.hayw...@gmail.com> wrote:
>
>> Thank you! Let me play with it.
>>
>>
>> On Thu, Jul 15, 2010 at 10:41 AM, Daniel Roseman 
>> <dan...@roseman.org.uk>wrote:
>>
>>> On Jul 15, 4:19 pm, Jonathan Hayward
>>> <christos.jonathan.hayw...@gmail.com> wrote:
>>> > I'm looking at a problem and see how to solve it, probably badly, with
>>> > eval(), but don't see what the right solution is.
>>> >
>>> > I want to use Jeditable more or less to make fields on models editable.
>>> > Jeditable sends the HTML ID, as well as updated value, when someone
>>> makes an
>>> > in_place edit. I am following a convention where the HTML ID is
>>> something
>>> > like *model*_*field*_*id*, and I would like an Ajax view to do some
>>> error
>>> > checking and if the provided ID is appropriate, take an ID of
>>> > entity_description_1 to pull up the Entity with id 1 and set its
>>> description
>>> > field to the updated value.
>>> >
>>> > I see a way to do this with eval, badly, but what I'd guess of Django
>>> is
>>> > that there's a way to call .get(model_name) or something like that to
>>> avoid
>>> > an eval. Is there a dynamic equivalent to
>>> > directory.models.Entity.objects.get(pk = 1) or instance.description =
>>> value
>>> > where "Entity" and "description" are effectively replaced by
>>> dynamically
>>> > provided values?
>>> >
>>>
>>> Yes - although you need the name of the app as well as the model.
>>>
>>>    from django.db.models import get_model
>>>    my_model = get_model('myapp', 'Entity')
>>>    my_instance = my_model.objects.get(pk=my_pk_value)
>>>    setattr(my_instance, fieldname, fieldvalue)
>>>    my_instance.save()
>>>
>>> --
>>> DR.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "Django users" group.
>>> To post to this group, send email to django-us...@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/django-users?hl=en.
>>>
>>>
>>
>>
>> --
>> → Jonathan Hayward, christos.jonathan.hayw...@gmail.com
>> → An Orthodox Christian author: theology, literature, et cetera.
>> → My award-winning collection is available for free reading online:
>> ☩ I invite you to visit my main site at http://JonathansCorner.com/
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Django users" group.
>> To post to this group, send email to django-us...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@googlegroups.com>
>> .
>> For more options, visit this group at
>> http://groups.google.com/group/django-users?hl=en.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-us...@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