问题列表 - 第34868页

使用Django管理命令的Python导入问题

无论出于何种原因,当我不熟悉Python和Django时,我在models.py文件的顶部写了一些这样的import语句:

from django.contrib import auth
Run Code Online (Sandbox Code Playgroud)

我会像这样使用它:

class MyModel(models.Model):
    user = models.ForeignKey(auth.models.User)
    # ...
Run Code Online (Sandbox Code Playgroud)

这很好.很久以后,我写了一个自定义管理命令,它会这样做:

from myapp.models import MyModel
Run Code Online (Sandbox Code Playgroud)

当我运行我的自定义命令(python manage.py my_command)时,这将导致Python抱怨该模块authmodels声明ForeignKeymodels.py中的行上没有属性.

要解决此问题,我将models.py更改为更常见的:

from django.contrib.auth.models import User

class MyModel(models.Model):
    user = models.ForeignKey(User)
    # ...
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释我错过了什么吗?运行管理命令时,环境中是否存在不同之处?或者我一直都做错了?谢谢!

编辑:在dmitko关于循环导入的预感之后,这里是我的models.py文件中使用的导入.我正在显示auth注释掉的原始导入,以及唯一具有auth用户模型外键的模型:

import datetime  
from django.db import models 
# from django.contrib import auth
from django.contrib.auth.models import User 

class UserLastVisit(models.Model):
    # user = models.ForeignKey(auth.models.User, unique=True)
    #                          ^^^^^^^^^^^^^^^^
    # after adding mgmt command, error occurred here; change to …
Run Code Online (Sandbox Code Playgroud)

python django import

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

检查MySQL中是否可以删除行

有没有办法可以检查是否有可能删除行?例如,它目前没有通过受限制的外键连接到其他任何东西.

原因:我正在制作一个管理页面,其中列出了系统中的所有用户.它们始终可以被禁用,但也可以删除它们.但是,如果它们没有连接到任何关键的东西,它们只能被删除.如果可以在数据库中轻松完成,我想不必手动检查.

注意:我不想删除任何用户.我只是想显示给用户的管理员可以删除.

mysql foreign-keys delete-row

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

使用枚举直接使用整数类型的好处?

1)我知道以下好处:

  • 它们会增加抽象级别,因为您可以立即看到底层积分值代表什么.

  • 您可以使用它们而不是幻数,并通过这样做使代码更容易理解

  • 它们还限制enum变量可以具有的值,这样做可以使应用程序更安全,因为程序员知道哪些值对变量有效,所以我猜它们提供类型安全性

他们提供的直接使用积分值还有其他好处吗?

2)为什么他们使用积分作为基础类型而不是字符串?

谢谢

c# enums

8
推荐指数
2
解决办法
7644
查看次数

img标签元素与具有背景图像的div之间的性能差异?

在img标签与具有图像背景的div中显示图像时,性能或加载/缓存行为是否有任何差异?

我的例子:

我有一个有很多重叠图像的网站,其中一些我需要用javascript动态加载.一个问题是我需要将图像锚定在元素的右侧,这样我才能做出很好的擦除效果.因此我使用了一个div,背景图像位置正确.无法弄清楚如何用img做到这一点,但由于div正在为我工​​作,我不知道这是否重要...

html javascript performance image

6
推荐指数
2
解决办法
9929
查看次数

来自TransformedBitmap对象的"跨越"困境

我有一个2208 x 3000 TransformedBitmap对象,格式为{Indexed8},我正在做.CopyPixels().我正在使用

(int)((formattedBitmap.PixelWidth * formattedBitmap.Format.BitsPerPixel + 7) / 8)
Run Code Online (Sandbox Code Playgroud)

(假设'formattedBitmap'是我正在尝试复制像素的图像的名称),用于我的方法调用中的'stride'值和长度为2208的字节数组.我在代码中的其他地方有一些工作(图像的格式是{Gray8}.但是,在我想要在上述图像上做同样的事情的地方,我不断得到一个"超出范围的参数"异常说"参数值不能小于'6624000'.\ r \n参数名称:缓冲区."

我对此的疑问是:为什么世界上完全相同的代码似乎在一个地方而不是另一个地方?用外行人的话来说,世界上究竟是什么呢?如何在不出现此错误的情况下获得所需的影响(复制位)?我究竟做错了什么?

对此的任何帮助将非常感谢.非常感谢!

c# wpf byte image-processing pixels

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

使用setTimeout延迟执行

JavaScript的超时功能是

setTimeout(fun, 3600);
Run Code Online (Sandbox Code Playgroud)

但是,如果我不想运行任何其他功能,该怎么办?我可以setTimeout(3600);吗?

javascript javascript-events

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

拥有付费和免费版Android应用的最佳方式

我已经在Android电子市场上有一个免费的应用程序,但我想添加一个具有更好功能的付费版本.我不能上传相同的一些更改的常量来解锁这些功能,因为市场告诉我,我已经在市场上有一个带有该包名称的应用程序.

这样做最干净的方法是什么?

android

61
推荐指数
4
解决办法
3万
查看次数

JS/overflow:iPad/iOS上的Safari中隐藏的性能问题

我正在开发类似谷歌地图的滚动/平移系统.该系统应该比"原始"(没有缩放)简单得多,因此以非常直接的方式构建:

  • 有一个包含div的代表视口,溢出设置为隐藏和固定大小
  • 这个div包含另一个基于鼠标移动而被平移的div
  • 根据可见区域,将固定的div(或imgs)添加到平移div以显示非常大的图像的一部分

这个设置正如它应该的那样工作.特别是在桌面上的常规浏览器中,它完美无瑕.滚动是流动的.

在iPad上并没有那么多:这里整个事情感觉非常缓慢.在平移时有明显的滞后现象,点击注册需要很长时间.

为了让它与触摸界面一起工作,我必须将触摸事件"转换"为鼠标事件.虽然没有这个很难测试性能上的差异,但我认为这不是问题的原因,因为简单点击的响应性在停用时仍然保持同样低.

我试着通过简要介绍一下谷歌地图本身(它在iPad上和其他任何地方一样好用)来找出可能导致这种情况的原因,但无济于事(过于复杂而无法快速了解) ).所以我认为它可能与移动Safari在容器中设置为"溢出:隐藏;",某些缓存问题或者我不知道的所需JS技巧的方式有关.

知道我在哪里可以开始寻找吗?

safari performance jquery ipad ios

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

循环中的迭代

有没有办法在vba中说:

from x = 1 to 100, by 10
Run Code Online (Sandbox Code Playgroud)

所以x是1,10,20,30等等到100?

iteration vba

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

为什么这个C#COM类可以从VBScript而不是JScript中使用?

考虑下面给出的C#中与自动化兼容的COM库.它遵循一个常见的COM模式,即有一个可见的工厂coclass FooFactory实现ICreateFoos,它创建一个IFoo类型的对象.FooFactory是类型库中唯一的 coclass.(工厂模式对COM特别有用,因为它不允许参数化构造函数).

在下面的代码中,我发现我无法从jscript 访问返回的IFoo接口,除非我使FooImpl类ComVisible(通过取消注释注释行;这使它在类型库中显示为coclass).从VBscript访问它没有这样的问题.

也就是说,我可以运行这个VBScript:

set ff = CreateObject("jstest.FooFactory")
set foo = ff.CreateFoo(0)
foo.Foo
Run Code Online (Sandbox Code Playgroud)

但这个功能相同的 JScript失败,错误"C:\ temp\jstest\jstest.js(4,1)Microsoft JScript运行时错误:'foo'为null或不是对象":

var ff = new ActiveXObject("jstest.FooFactory");
var foo = ff.CreateFoo(0)
//WScript.Stdout.WriteLine(null==foo)
foo.Foo();
Run Code Online (Sandbox Code Playgroud)

如果我取消注释该行,我可以看到null == foo为false.

为什么会这样?这是一个错误吗?请注意,我认为这是一个问题,是JScript和C#/ .net特定实现(可能是IDispatch)的组合,因为我有其他类似的COM服务器 - 用C++实现 - 不会从JScript中出现这个问题.

如果我在下面的代码中取消注释注释行,使得FooImpl作为coclass可见,那么问题就会消失 - 但我特别不希望这样做,因为我不想暴露实现细节.一个解决方法似乎是使FooImpl ComVisible,但标记其构造函​​数内部,这可以防止客户端能够CoCreate它,但这并不优雅.

我正在使用Visual Studio 2005,.net 2在WinXP SP3上运行,并且能够在VirtualBox上完全全新安装TinyXP(都使用Windows Script Host 5.7)以及使用Windows 7 Ultimate进行重现.net SDKs 2.0,3.0,3.5和4.0(WSH 5.8).所有操作系统都是32位.

库代码:

using System;
using System.Runtime.InteropServices;

[assembly: ComVisible(false)]

namespace jstest
{
    [ComVisible(true)]
    public interface ICreateFoos
    {
        IFoo CreateFoo(int …
Run Code Online (Sandbox Code Playgroud)

javascript c# com vbscript ole

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