django中这个SQL语句的等价物是什么?
SELECT * FROM table_name WHERE string LIKE pattern;
Run Code Online (Sandbox Code Playgroud)
我如何在django中实现这个?我试过了
result = table.objects.filter( pattern in string )
Run Code Online (Sandbox Code Playgroud)
但那没用.我该如何实现?
我正在尝试根据外键的特定字段的值过滤Django中的表.
例如,我有两个模型 -
class Asset(models.Model):
name = models.TextField(max_length=150)
project = models.ForeignKey('Project')
class Project(models.Model):
name = models.TextField(max_length=150)
Run Code Online (Sandbox Code Playgroud)
我想根据相关项目的名称过滤我的资产清单.
目前我正在执行两个查询:
project_list = Project.objects.filter(name__contains="Foo")
asset_list = Asset.objects.filter(desc__contains=filter,
project__in=project_list).order_by('desc')
Run Code Online (Sandbox Code Playgroud)
我想知道是否有办法在主查询中指定这种过滤方式?
我很好奇是否有任何方法可以在Django中进行查询而不是SELECT * FROM..."下面的".我正在尝试做一个" SELECT DISTINCT columnName FROM ...".
具体来说,我有一个模型,看起来像:
class ProductOrder(models.Model):
Product = models.CharField(max_length=20, promary_key=True)
Category = models.CharField(max_length=30)
Rank = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
其中Rank是一个排名Category.我希望能够遍历所有类别,对该类别中的每个等级进行一些操作.
我想首先获得系统中所有类别的列表,然后查询该类别中的所有产品并重复,直到处理完每个类别.
我宁愿避免使用原始SQL,但如果我必须去那里,那就没事了.虽然我以前从来没有在Django/Python中编写原始SQL.
在Django中有一种方法可以过滤多个字段为空或空.
class TestModel(models.Model):
name = models.CharField(_('set name'), max_length=200)
manytomany = models.ManyToManyField('AnotherModel', blank=True, null=True)
print TestModel.objects.filter(manytomany__is_null=True)
Run Code Online (Sandbox Code Playgroud) 我正在使用事务模型来跟踪通过系统的所有事件
class Transaction(models.Model):
actor = models.ForeignKey(User, related_name="actor")
acted = models.ForeignKey(User, related_name="acted", null=True, blank=True)
action_id = models.IntegerField()
......
Run Code Online (Sandbox Code Playgroud)
如何获得系统中的前5名演员?
在sql中它基本上是
SELECT actor, COUNT(*) as total
FROM Transaction
GROUP BY actor
ORDER BY total DESC
Run Code Online (Sandbox Code Playgroud) 我试图获得最新的django模型对象,但似乎无法成功.
也不
obj = Model.objects.filter(testfield=12).latest()
Run Code Online (Sandbox Code Playgroud)
也不
obj = Model.objects.latest().filter(testfield=12)
Run Code Online (Sandbox Code Playgroud)
工作中.
请帮忙.
我有两个型号A和B.所有B对象都有一个对象的外键A.给定一组A对象,无论如何都要使用ORM来获取B包含为每个A对象创建的最新对象的一组对象
这是一个简化的例子:
class Bakery(models.Model):
town = models.CharField(max_length=255)
class Cake(models.Model):
bakery = models.ForeignKey(Bakery, on_delete=models.CASCADE)
baked_at = models.DateTimeField()
Run Code Online (Sandbox Code Playgroud)
所以我正在寻找一个可以返回美国Anytown每家面包店最新蛋糕的查询.
试图在我的Solr索引中查询活动记录陈旧的查询.我想检查Activity.updated数据库中的日期是否大于Activity.added_toSolr_date同一记录的日期.
stale_activities_queryset = Activity.objects.filter(updated__gte = self.added_toSolr_date)
Run Code Online (Sandbox Code Playgroud)
模型
class Activity(models.Model):
# Last time entry / metric was updated in the Activity model database
updated = models.DateTimeField( verbose_name="CRUD date")
# When it was added to Solr Index Date
added_toSolr_date = models.DateTimeField(blank=True, null=True, verbose_name="Added to Solr Index Date")
Run Code Online (Sandbox Code Playgroud)
我引用了Django Query文档:https: //docs.djangoproject.com/en/1.4/ref/models/querysets/ 以及样本的单元测试:https: //github.com/django/django/blob/master/tests/ modeltests/or_lookups/tests.py
还在Stackoverflow上搜索了这里.所有示例都使用输入日期,而不是比较同一模型中的两个日期字段.
class PurchaseOrder(models.Model):
product = models.ManyToManyField('Product')
vendor = models.ForeignKey('VendorProfile')
dollar_amount = models.FloatField(verbose_name='Price')
class Product(models.Model):
products = models.CharField(max_length=256)
def __unicode__(self):
return self.products
Run Code Online (Sandbox Code Playgroud)
我有那个代码.不幸的是,错误来自admin.py中ManyToManyField
class PurchaseOrderAdmin(admin.ModelAdmin):
fields = ['product', 'dollar_amount']
list_display = ('product', 'vendor')
Run Code Online (Sandbox Code Playgroud)
错误说:
'PurchaseOrderAdmin.list_display [0]','product'是不受支持的ManyToManyField.
然而,当我把它编译'product'出来的list_display.那么如何'product'在list_display不给出错误的情况下显示呢?
编辑:也许一个更好的问题是你如何显示ManyToManyField的list_display?
django ×10
django-queryset ×10
python ×4
admin ×1
distinct ×1
django-admin ×1
django-orm ×1
sql ×1