我很好奇是否有任何方法可以在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.
我试图想出一个正则表达式来验证双值.我承认我是正则表达式的废话,真的应该买一本书...无论如何,范围很大所以这里是:
.01到99.99,是范围,前导'00'是可选的,''是'.' 对于尾随'.00'也一样.因此用户可以键入0.1 00.01,0.11,1,1.0 1.00,这些都是有效的.
谢谢,r.
我喜欢LaTeX.让我们直接蝙蝠.
我唯一想要的是一个更清晰的语法,可以编译成LaTeX,比如Markdown for HTML.这是因为我所做的大多数简单文档创建(比如在课堂上做笔记),如果我只是键入1/2而不是将\frac{1}{2}其编译成一个整齐的部分,可以更快更好地改进.我知道并使用AucTeX,它可以提高打字速度,但它仍然不是很清晰,而且更容易出现语法错误.
如果存在编译成LaTeX的这种更简单的语法,请在下面的答案中告诉我.如果没有什么令人满意的话,我很乐意为这个目标启动一个开源项目,但我想首先了解现有的替代方案.
尽管我喜欢rails,但我总是讨厌以html形式处理日期...特别是当日期不是对象的属性时.
select_date帮助器很好,但它总是生成这个:
<select name="date[year]" id="date_year">
<select name="date[month]" id="date_month">
<select name="date[day]" id="date_day">
Run Code Online (Sandbox Code Playgroud)
我无法找到一种方法将名称前缀从"日期"更改为其他内容.有没有办法做到这一点?当它们不是对象属性时,您对日期输入使用了什么?
我在我的Windows 7机器上安装了growl + rspec + autotest.在命令提示符下,当我输入'rspec spec /'时,它不起作用.只有在使用'rake spec /'+'autotest'时才会运行测试.
此外,我正在运行这些测试:http://railstutorial.org/chapters/static-pages#code : default_pages_controller_spec(即非常非常简单),它们需要8.11秒.
当我运行它们时它们也会失败 - 即使它们不在示例中.我完成了教程告诉我的所有内容,问题是教程在Windows机器上安装rspec并没有太深入.它提供了一个链接,但即使这样你也必须将指令拼凑在一起.
我得到的错误是 'Failure/Error: Unable to find C to read failed line [31mundefined methord get' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x48336c0>'
第二个错误与此非常相似.
我还正确安装了Growl,因为我收到了两次失败的通知.
谁能帮我?
我最近发现了一种在Google Guava和Project Lombok中创建对象的新实例的有趣方法:隐藏静态创建方法背后的构造函数.这意味着new HashBiMap()你可以做而不是做HashBiMap.create().
我的问题是为什么?隐藏构造函数有什么好处?对我来说,我认为这样做绝对没有优势,它似乎打破了基本的对象创建原则.因为开始创建一个对象new Object(),而不是一些Object.createMe()方法.这几乎就像为创建方法创建一个方法.
你这样做会得到什么?
我正在做的事情似乎应该很简单,但在我阅读了每一个可能的Stackoverflow答案之后我仍然迷失了,我可以找到并搜索我能找到的每篇文章.
我正在使用预览SurfaceView并从我在AndroidManifest.xml中为screenOrientation ="landscape"设置的活动中捕获图像.
我按照示例相机应用程序代码进行操作,直到我在运行1.5的一些摩托罗拉设备上尝试我的应用程序之前一直工作.
我让OrientationEventListener运行正常,我使用反射来查看是否设置旋转:
final int latchedOrientation = roundOrientation(mLastOrientation + 90);
Parameters parameters = preview.camera.getParameters();
JPLog.d("Setting camera rotation = %d", latchedOrientation);
try {
// if >= 2.0
Method method = Camera.Parameters.class.getMethod("setRotation",
int.class);
if(method != null) {
method.invoke(parameters, latchedOrientation);
}
} catch(Throwable t) {
// if < 2.0
parameters.set("rotation", latchedOrientation);
}
preview.camera.setParameters(parameters);
Run Code Online (Sandbox Code Playgroud)
NexusOne(OS 2.2) - 效果很好.latchedOrientation = 0,图片OK在EXIF标题中没有任何旋转.
T-Mobile G1(OS 1.6) - 也很棒.latchedOrientation = 0,图片确定.
摩托罗拉Backflip(OS 1.5) - 图像旋转.latchedOrientation = 0,图片中没有EXIF旋转.
Motorola CLIQ(OS 1.5) - 图像旋转.latchedOrientation = 0,图片中没有EXIF旋转.
这些摩托罗拉设备发生了什么变化?我认为我的问题是摩托罗拉相机驱动程序没有旋转图像,所以找到了Android的Sanselan EXIF阅读课,并准备自己旋转它们.有趣的是,有EXIF标题但没有旋转元素. …
我能知道为什么吗?它与内存芯片架构有关吗?或者是因为32位CPU.这个8位是否适用于FreeBSD,Mac,Linux等其他操作系统?每个位置的位数与内存中地址线的数量有关系吗?
是否有其他架构每个地址具有不同的位数?
我是Doctrine的新手,但对SQL有些熟悉.我有一个非常简单的架构,包含用户和挑战.每个Challenge都有一个"challenger id"和一个"opponent id",它们是User表中的外键.我想打印所有挑战的列表,输出是User表中的名称.这是我的Doctrine查询;
$q = Doctrine_Query::create()
->select('u1.name challenger, u2.name opponent')
->from('Challenge c')
->leftJoin('c.Challenger u1')
->leftJoin('c.Opponent u2');
Run Code Online (Sandbox Code Playgroud)
问题是这只返回一行.我已经使用getSqlQuery()命令查看生成的SQL,最终得到的结果是:
SELECT u.name AS u__0, u2.name AS u2__1 FROM challenge c
LEFT JOIN user u ON c.challenger_id = u.id
LEFT JOIN user u2 ON c.opponent_id = u2.id
Run Code Online (Sandbox Code Playgroud)
在第三方SQL客户端中运行时,此查询将按预期检索所有行.知道如何从Doctrine获取所有行吗?我正在使用$q->execute()我理解应该为多行工作.
谢谢.