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
Post a Comment