问题列表 - 第20913页

从Django中的基本模型实例返回代理模型实例的正确方法?

说我有模特:

class Animal(models.Model):
    type = models.CharField(max_length=255)

class Dog(Animal):
    def make_sound(self):
        print "Woof!"
    class Meta:
        proxy = True

class Cat(Animal):
    def make_sound(self):
        print "Meow!"
    class Meta:
        proxy = True
Run Code Online (Sandbox Code Playgroud)

让我们说我想做:

 animals = Animal.objects.all()
 for animal in animals:
     animal.make_sound()
Run Code Online (Sandbox Code Playgroud)

我想找回一系列的Woofs和Meows.很明显,我可以在原始模型中定义一个基于animal_type分叉的make_sound,但每次我添加一个新的动物类型(想象它们在不同的应用程序中)时,我必须进入并编辑make_sound函数.我宁愿只定义代理模型并让它们自己定义行为.据我所知,没有办法返回混合的Cat或Dog实例,但我想也许我可以在主类上定义一个返回cat或dog模型的"get_proxy_model"方法.

当然你可以这样做,并传递类似主键的东西,然后只做Cat.objects.get(pk = passed_in_primary_key).但这意味着对您已经拥有的数据进行额外查询,这似乎是多余的.有没有办法以有效的方式将动物变成猫或狗的实例?做我想做的事的正确方法是什么?

python django proxy-classes django-models

26
推荐指数
3
解决办法
6382
查看次数

模糊的软件工程术语

我听到很多程序员都不熟悉的术语(或者我工作的那些术语除了少数之外并不是很好),例如"技术债务"(我研究过甚至看到了第一手资料)工作中).

还有哪些其他模糊/不为人知的术语?这一点特别有用,因为面试官有时会提到复杂的术语,如果我不知道他们的意思,它可能会在面试过程中搞砸.

谢谢

terminology

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

PHP MySQL连接失败

我正在尝试使用以下代码将我的PHP代码安全地连接到MySQL:

<html>
    <?php
        $con = mysql_connect("localhost:3306","root","password");
        if(!$con)
        {
            die('Could not connect: ' . mysql_error());
        }
        else
        {
            echo "Connection established!";
        }
        mysql_close($con);
    ?>
</html>
Run Code Online (Sandbox Code Playgroud)

但我不断收到以下错误消息:

警告:mysql_connect()[function.mysql-connect]:无法在第5行的C:\ xampp\htdocs\database_connect.php中的'localhost'(10061)上连接到MySQL服务器无法连接:无法连接到'localhost'上的MySQL服务器(10061)

以下是我采取的故障排除步骤:

  • 检查mysqld是否在Windows任务管理器进程中运行 - 它是
  • 通过键入Windows命令提示符:"telnet 192.0.0.1 3306"检查MySQL是否在主机上运行,​​并收到消息"无法打开与主机的连接,在端口3306上:连接失败"
  • 检查Windows防火墙是否阻止MySQL - MySQL是一个例外.

如何让这段代码安全地运行?我如何检查有关用户名的MySQL的基本有用信息?

php mysql

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

将一个字节编码的Key转回到它在Bouncy Castle中的原始ECPublicKey

在Java中,我有一个ECDH公钥,我将其作为字节数组发送.

收到字节数组后,如何将其重新转换为公钥?

我正在使用Bouncy Castle,但Java解决方案同样有用.

谢谢

java encryption bouncycastle elliptic-curve

8
推荐指数
3
解决办法
5416
查看次数

Javascript问题 - 什么是"窗口"?

<html>
    <script language="javascript">
        /* This function is invoked by the activity */
        function wave() {
            alert("1");
            document.getElementById("droid").src="android_waving.png";
            alert("2");
        }
    </script>
    <body>
        <!-- Calls into the javascript interface for the activity -->
        <a onClick="window.demo.clickOnAndroid()"><div style="width:80px;
            margin:0px auto;
            padding:10px;
            text-align:center;
            border:2px solid #202020;" >
                <img id="droid" src="android_normal.png"/><br>
                Click me!
        </div></a>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我的问题是:什么是"window.demo.clickOnAndroid()"?

我知道clickOnAndroid是我的Android应用程序中的一种方法.但什么是窗口和演示?我的文件名为demo.html.是吗?

javascript android window

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

C++函数输出迭代器适配器

给出适合std::for_each与朋友一起使用的仿函数:

template <typename T> struct Foo {
    void operator()(T const& t) { ... }
};

std::for_each(v.begin(), v.end(), Foo<Bar>());
Run Code Online (Sandbox Code Playgroud)

有没有一些标准的方法将其转换为适合std::copy与朋友一起使用的输出迭代器?(或相反的改编)类似于:

std::copy(v.begin(), v.end(), functor_output_iterator(Foo<Bar>()));
Run Code Online (Sandbox Code Playgroud)

每次将值赋给迭代器时,都会调用仿函数:

adapter(F f) : functor(f) { }
adapter& operator*()  { return *this; }
operator=(T const& t) { functor(t); }
operator++()          { }
...
Run Code Online (Sandbox Code Playgroud)

或者,或者:

std::for_each(..., some_adapter(std::ostream_iterator(std::cout)));
Run Code Online (Sandbox Code Playgroud)

背景:

我有一个使用输出迭代器公开集合的类:

template <typename It> GetItems(It out) {
    MutexGuard guard(mutex);
    std::copy(items.begin(), items.end(), out);
}
Run Code Online (Sandbox Code Playgroud)

这允许调用者访问项目,而不必强制他们使用特定的容器类型,也不会弄乱锁定或其他内部细节.

例如,只获得独特的物品:

std::set<whatever> set;
obj->GetItems(std::inserter(set, set.end()));
Run Code Online (Sandbox Code Playgroud)

这打败了:

ObjLock lock = obj->GetLock();
for (int i …
Run Code Online (Sandbox Code Playgroud)

c++ templates iterator stl functor

7
推荐指数
1
解决办法
2175
查看次数

需要内存有效的方法来存储大量的字符串(是:在Java中的HAT-Trie实现)

我正在使用一大组(5到2千万)字符串键(平均长度为10个字符),我需要将其存储在内存数据结构中,该结构在恒定时间或接近恒定时间内支持以下操作:

// Returns true if the input is present in the container, false otherwise
public boolean contains(String input)
Run Code Online (Sandbox Code Playgroud)

就吞吐量而言,Java的Hashmap证明是令人满意的,但占用了大量内存.我正在寻找一种内存效率高的解决方案,并且仍然支持良好的吞吐量(与散列相当或几乎一样好).

我不关心插入/删除时间.在我的应用程序中,我将仅执行插入(仅在启动时),并且随后将仅使用contains应用程序生命周期的方法查询数据结构.

我读到HAT-Trie数据结构最接近我的需求.我想知道是否有一个具有实现的库.

其他建议与实现的指针欢迎.

谢谢.

java hash trie bloom-filter data-structures

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

键控散列和非键控散列之间的区别?

我在.net中读过一些关于加密的文章,这引出了以下问题:keyed hash和非keyed hash之间有什么区别?

encryption hash

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

Django:使用模型保存保存用户ID

我的问题与这个问题非常相似: Django:保存模型时填充用户ID

不幸的是,我不太明白他们的答案.

当用户登录时,我希望他们能够提交链接,并且我有一个user_id外键,我似乎无法填充.

def submit(request):
    if request.method == 'POST':
        form = AddLink(request.POST)
        if form.is_valid():
            form.save()
            return redirect('home')
    else:
        form = AddLink()

    return render_to_response('links/submit.html', {'form': form})
Run Code Online (Sandbox Code Playgroud)

我每次提交表格时都会提到:

null value in column "user_id" violates not-null constraint
Run Code Online (Sandbox Code Playgroud)

我理解但我不知道如何将user_id添加到我的表单对象.如何访问当前登录用户的ID并将其与表单数据一起提交?

django django-models

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

扩展二进制搜索算法以查找要在数组中搜索的键值的第一个和最后一个索引

问题是扩展二进制搜索算法以最有效的方式查找排序数组中所有出现的目标值.具体地说,算法的输入是(1)整数的排序数组,其中一些数字可能出现不止一次,以及(2)要搜索的目标整数.算法的输出应该是一对索引值,指示数组中第一次和最后一次出现的整数(如果确实发生的话).源代码可以是c#,c,c ++.

此外,我们可能需要查找索引的最大和最小比较数是多少?

c c# c++ algorithm binary-search

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