我有一个有FileField字段的模型,在这个模型中我们有数百万条记录。
class MyModel(models.Model):
media = models.FileField(upload_to=my_function, db_index=True)
...
这些媒体记录存储在数据库中,例如;
- 媒体/一些/文件夹/文件名.jpg
- 媒体/文件名.jpg
- 媒体/2021091240-10328.JPG
- 媒体/aXay-123.jpeg
- 媒体/一些/另一个/文件夹/202110-12-12.jpeg
等等,我需要找到没有嵌套路径的记录,比如/some/folder/django /some/another/folder/orm__iregex查找。
所以,我尝试了类似的东西;
MyModel.objects.filter(media__iregex=r"^media/[0-9a-zA-Z\-][.][a-zA-Z]")
但它不匹配,我不明白要写正确的正则表达式[mysql regexp]。
如何使用 Django orm 使用 mysql regexp 进行过滤以获取仅具有类似模式的记录;media/filename.extension?