问题列表 - 第45496页

如何在 Django 中使用 Q.AND 限制多对多关系的查询

我想获取具有 2 个特定标签“tag1” AND“tag2”的所有图像。我的简化模型:

class Image(models.Model):
    title = models.CharField(max_length=100)

class Tag(models.Model):
    name = models.CharField(max_length=64, unique=True)
    images = models.ManyToManyField(Image, null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

连接filter作品:

query = Image.objects.filter(tag__name='tag1').filter(tag__name='tag2')
Run Code Online (Sandbox Code Playgroud)

然而,我认为我可以使用 Django 中的 Q 对象来做到这一点。我正在构建一个复杂的查询,因此使用 Q 会更简单。我将所有参数添加到qobj = Q()using qobj.add(Q(tag__name='tag1'), Q.AND)。但是...以下内容什么也检索不到:

qobj = Q()
qobj.add(Q(tag__name='tag1'), Q.AND)
qobj.add(Q(tag__name='tag2'), Q.AND)
query = Image.objects.filter(qobj)
Run Code Online (Sandbox Code Playgroud)

OR在上面的代码中使用连接器时,一切都按预期工作,正确返回具有 tag1 ORtag2 的图像。

似乎在这种AND情况下,它正在寻找 app_tag_images 中具有两个标签的行,这显然不存在,因为每一行只有一个 image_id 的 tag_id 。

有没有办法用 Q 构建这个查询?

ps:如果需要更多代码细节,请告诉我。

编辑:

这是带有 Q 的查询的 que sql 查询(SELECT为了清楚起见,我清理了大部分列):

SELECT …
Run Code Online (Sandbox Code Playgroud)

python django django-queryset

5
推荐指数
1
解决办法
1717
查看次数

移位的div仍占据原始空间?

好吧,在我的网站上,我有嵌套的div.使用我的代码,我将它们移动如下:

    float:left;
    position:relative;
    top: 5em;
    left: -4em;
    margin-left: auto;
    margin-right: auto;
Run Code Online (Sandbox Code Playgroud)

因此,当网站加载时,一切都在正确的位置.但是,其他内容仍然受到div使用位置的影响.其中,我只是称为"幽灵div"

我确定这是一个常见问题,但我不知道如何正确地说出来,所以我无法找到正确的问题.

例: 幽灵分区

html css

2
推荐指数
1
解决办法
715
查看次数

Perl Hash of Subfunctions

我希望有一个包含对子函数的引用的哈希,我可以根据用户定义的变量调用这些函数,我将尝试给出一个我正在尝试做的简化示例.

my %colors = (
    vim => setup_vim(),
    emacs => setup_emacs(),
)

$colors{$editor}(arg1, arg2, arg3)
Run Code Online (Sandbox Code Playgroud)

where setup_vim()setup_emacs()将是我的文件中稍后定义的子函数,并且$editor是用户定义的变量(即vim或emacs).这可能吗?我无法让它工作,或找到有关该主题的良好信息.谢谢.

(注意我现在已经实现了它作为一个工作的Switch,但我认为像上面这样的哈希会更容易在现有代码中添加新条目)

perl

8
推荐指数
1
解决办法
2854
查看次数

使用Python在ArcGIS中进行多线程处理

我有一个python脚本,单独运行时效果很好.它基于硬编码的输入目录,扫描所有.mdb文件并将其放入列表中,然后在for循环中遍历它们.每次迭代都涉及多个表限制,连接,查询等.

唯一的问题..在输入数据集上运行大约需要36个小时,而这个脚本只会在这个实例中用于此数据集,我想提高性能,因为我经常编辑字段选择,结果包括,加入方法等我想说它需要很长时间,因为我的脚本效率低下,但任何低效率都会很小,因为几乎所有的处理时间都专用于地理处理器对象.

我在主脚本中的所有相关内容是:

indir = "D:\\basil\\input"
mdblist = createDeepMdbList(indir)
for infile in mdblist:
    processMdb(infile)
Run Code Online (Sandbox Code Playgroud)

它在顺序执行时也能完美执行.

我尝试过使用Parallel Python:

ppservers = ()
job_server = pp.Server(ppservers=ppservers)

inputs = tuple(mdblist)
functions = (preparePointLayer, prepareInterTable, jointInterToPoint,\
          prepareDataTable, exportElemTables, joinDatatoPoint, exportToShapefile)
modules = ("sys", "os", "arcgisscripting", "string", "time")

fn = pp.Template(job_server, processMdb, functions, modules)
jobs = [(input, fn.submit(input)) for input in inputs]
Run Code Online (Sandbox Code Playgroud)

它成功创建了8个进程,8个地理处理器对象......然后失败了.

我没有对内置的Python多线程工具进行过广泛的实验,但希望能够提供一些指导,简单地生成多达8个进程,这些进程通过mdblist表示的队列.在任何时候都不会尝试由多个进程同时写入或读取任何文件.为了使事情暂时变得简单,由于这个问题,我还删除了所有的日志记录工具; 我已经足够多次运行这个脚本,知道它的工作原理除了4104输入的4个文件之外,这些文件的数据格式略有不同.

建议吗?尝试多线程Arc Python脚本的智慧?

python multithreading arcgis

4
推荐指数
1
解决办法
2699
查看次数

测试变量是否与if-elsif链长的几个字符串中的任何一个匹配,或者case-when

我假设在红宝石中有一个很好的单行方式

if mystr == "abc" or "def " or "ghi" or "xyz"
Run Code Online (Sandbox Code Playgroud)

但在我通常咨询的在线参考文献中找不到如何做到这一点...

谢谢!

ruby string comparison

16
推荐指数
2
解决办法
1万
查看次数

显式析构函数

以下代码仅用于说明我的问题.

template<class T>
class array<T>
{
 public:
    // constructor
    array(cap = 10):capacity(cap)
    {element = new T [capacity]; size =0;}

    // destructor
    ~array(){delete [] element;}
    void erase(int i);
    private:
      T *element;
      int capacity;
      int size;
};



template<class T>
void class array<T>::erase(int i){
     // copy
     // destruct object
    element[i].~T();  ////
    // other codes
} 
Run Code Online (Sandbox Code Playgroud)

如果我array<string> arr在main.cpp.当我使用时erase(5),对象element[5]被破坏但是空间element[5]不会被释放,我可以用来element[5] = "abc"在这里放一个新值吗?或者我是否应该使用placement new来在空间中添加新值element [5]

当程序结束时,arr<string>将调用它自己的析构函数,它也会调用delete [] element.因此,字符串的析构函数将首先运行以销毁对象,然后释放空间.但是因为我已经明确地破坏了element[5],所以析构函数(由arr的destuctor调用)运行两次来破坏element[5] …

c++ destructor

4
推荐指数
1
解决办法
1835
查看次数

如何在django中制作和实施通用的OneToOne关系?

我想要完全相同的东西django.contrib.contenttypes.generic.GenericForeignKey,而OneToOne不是ForeignKey.我认为一个简单(虽然略微不优雅)的解决方法是添加unique=True到相关领域,但是那个borks.

generics django database-relations django-models

5
推荐指数
1
解决办法
1836
查看次数

javascript在数组中查找

我有这样一个数组:

  var movies = [
  { Name: "The Red Violin", ReleaseYear: "1998", Director: "François Girard" },
  { Name: "Eyes Wide Shut", ReleaseYear: "1999", Director: "Stanley Kubrick" },
  { Name: "The Inheritance", ReleaseYear: "1976", Director: "Mauro Bolognini" }
  ];
Run Code Online (Sandbox Code Playgroud)

我想找到1999年发行的电影的位置.

应该回来1.

什么是最简单的方法?

谢谢.

javascript jquery

4
推荐指数
1
解决办法
918
查看次数

ColdFusion中的函数访问

有没有办法通过继承访问函数而无需设置函数访问公共?

例如:我有Foo.cfc,它扩展了Bar.cfc.如果我想从Foo.cfc调用Bar.cfc函数,我必须将函数访问权限设置为public.

如果我将函数访问权限设置为private,那么它只能从Foo.cfc访问.是否没有"中间"访问级别不是公开但不严格私有?即它只允许通过继承访问...

coldfusion

1
推荐指数
2
解决办法
2014
查看次数

C++ g ++在类头文件中找不到'string'类型

我是C++的新手,但我无法弄清楚为什么这不会为我编译.我在Mac上运行,使用Xcode进行编码,但是我正在用bash构建自己的makefile.

无论如何,我得到两个编译器错误,即使我已经包含了"字符串"类型也无法找到.任何帮助都会受到欢迎.码:

//#include <string> // I've tried it here, too. I'm foggy on include semantics, but I think it should be safe inside the current preprocessor "branch"
#ifndef APPCONTROLLER_H
#define APPCONTROLLER_H

#include <string>
class AppController {
// etc.
public:
    int processInputEvents(string input); //error: ‘string’ has not been declared
    string prompt(); //error: ‘string’ does not name a type
};
#endif
Run Code Online (Sandbox Code Playgroud)

我在main.cpp中包含了这个文件,而在main中的其他地方我使用了这个string类型,它运行得很好.虽然在主要方面我已经包括iostream而不是string(用于其他目的).是的,我也尝试在我的AppController类中包含iostream,但它没有解决任何问题(我也没想到它).

所以我不确定问题是什么.有任何想法吗?

c++ string compiler-errors g++

5
推荐指数
1
解决办法
3万
查看次数