python - Django queryset model apply function in field -
it possible simulate query sql in django models using function in field in clause.
my query sql
select id, name, email students md5(cast(id text)) = 'e4da3b7fbbce2345d7772b0674a318d5'; my django model.
class students(models.model): name = models.charfield(max_length=50) email = models methods in django - value of where_filter md5 of value field id/pk.
where_filter = 'e4da3b7fbbce2345d7772b0674a318d5' students.objects.get(pk=where_filter) students.objects.filter(pk=where_filter) thanks.
you can custom transform class.
something like:
class md5value(transform): lookup_name = 'md5' output_field = charfield() def as_sql(self, compiler, connectino): lhs, params = compiler.compile(self.lhs) return "md5(cast(%s text))" % lhs, params autofield.register_lookup(md5value) now can do:
where_filter = 'e4da3b7fbbce2345d7772b0674a318d5' students.objects.get(pk__md5=where_filter)
Comments
Post a Comment