python - Is it possible to use a PositiveIntegerField as a foreign key in Django? -


consider following 2 django models:

class item(models.model):     '''     represents single item.     '''     title = models.textfield()  class information(models.model):     '''     stores information item.     '''     approved           = models.booleanfield(default=false)     multipurpose_field = models.positiveintegerfield() 

due way models organized, forced use positiveintegerfield in information referencing item instead of using foreignkey. makes queries more difficult.

i select items referenced information instance approved set true. in other words, this:

information.objects.filter(approved=true) 

...except query return instances of information instead of item referenced in multipurpose_field.

i raw sql:

select app_item.title app_item   left join app_information   on app_information.multipurpose_field = app_item.id   app_information.approved = 1 

is there way without resorting raw sql (which isn't portable)?

foreignkey's field type determined related field. consider redesigning models way:

class item(models.model):     id    = models.positiveintegerfield(primary_key=true)     title = models.textfield()  class information(models.model):     approved           = models.booleanfield(default=false)     multipurpose_field = models.foreignkey(item) 

then query represented way:

item.objects.filter(information__approved=true) 

Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -