问题列表 - 第13125页

使用Django的ORM进行模型继承方法

我想将事件存储在我正在讨论的Web应用程序中,我对每种方法的利弊都非常不确定 - 广泛使用继承或以更适度的方式使用继承.

例:

class Event(models.Model):
    moment = models.DateTimeField()

class UserEvent(Event):
    user = models.ForeignKey(User)
    class Meta:
        abstract = True

class UserRegistrationEvent(UserEvent):
    pass # Nothing to add really, the name of the class indicates it's type

class UserCancellationEvent(UserEvent):
    reason = models.CharField()
Run Code Online (Sandbox Code Playgroud)

感觉就像我正在疯狂地创建数据库表.它需要很多连接来选择出来并且可能使查询复杂化.但我认为它的设计感觉很好.

使用只有更多字段的"更平坦"模型会更合理吗?

class Event(models.Model):
    moment = models.DateTimeField()
    user = models.ForeignKey(User, blank=True, null=True)
    type = models.CharField() # 'Registration', 'Cancellation' ...
    reason = models.CharField(blank=True, null=True)
Run Code Online (Sandbox Code Playgroud)

感谢您对此的评论,任何人.

菲利普

python django django-models model-inheritance

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

在从"ostream"派生的类中覆盖"operator <<"的问题

我想基于"ostream"创建一个类,它执行一些自动格式化以生成逗号或制表符分隔值文件.我的想法是覆盖"operator <<",让它在每个值之前插入一个分隔符(除了行的开头和结尾),并在写入之前引用字符串.在重写的"operator <<"方法中,我想调用基类的方法,但我不能让它正常工作.

这是一个例子(用g ++ 4.3.3编译):

#include <iostream>
#include <ostream>
#include <string>

using namespace std;

class MyStream: public ostream
{
public:
  MyStream(ostream& out): ostream(out.rdbuf()) {}

  template <typename T> MyStream& operator<<(T value)
  {
    ostream::operator<<('+');
    ostream::operator<<(value);
    ostream::operator<<('+');
    return *this;
  }
};

template<> MyStream& MyStream::operator<< <string>(string value)
{
  ostream::operator<<('*');
  ostream::write(value.c_str(), value.size()); // ostream::operator<<(value);
  ostream::operator<<('*');
  return *this;
}

int main()
{
  MyStream mystr(cout);
  mystr << 10;
  cout << endl;
  mystr << "foo";
  cout << endl;
  mystr << string("test");
  cout << endl;
  return 0;
} …
Run Code Online (Sandbox Code Playgroud)

c++

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

如何将密码哈希从MD5转换为SHA?

我有一个旧的应用程序,其用户密码存储在数据库中,带有MD5哈希.我想用SHA-2系列中的东西替换它.

我想到了两种可能的方法来实现这一点,但两者看起来都很笨重.

1)添加一个布尔"标志"字段.用户在此之后第一次进行身份验证时,使用SHA密码哈希替换MD5密码哈希,并设置该标志.然后我可以检查标志以查看密码哈希是否已被转换.

2)添加第二个密码字段以存储SHA哈希.用户第一次在此之后进行身份验证,使用SHA散列密码并将其存储在新字段中(可能同时删除其MD5哈希值).然后我可以检查SHA字段是否有值; 这基本上成了我的旗帜.

在任何一种情况下,对于不经常登录的任何用户,MD5身份验证都必须保留一段时间.任何不再活动的用户永远不会切换到SHA.

有一个更好的方法吗?

passwords hash md5 sha

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

合并和提交后的SVN错误

我将一个分支合并到另一个分支,然后进行了一些自己的更改.当我去检查更改时,我收到此错误:

错误:
- C:\ dev\Backend\Backend_1.1.0.0
在目录
C:\ dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests'
错误处理命令'committed'在
'C:\ dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests'
无法将
C:\ dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests.svn\dir-props'移动到
C:\ dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests.svn\dir-prop-base':系统找不到指定的文件.

现在我无法提交(获取"工作副本锁定,请执行清理"消息),执行"清理"会给出与上面相同的消息.

当我删除违规目录时,如Greg Hewgill建议并进行更新,更新请求清理,并且清理会在不同的子目录上引发错误.

我将查看源的新副本并手动合并我的更改,但我想知道是否A)有更好的方法来解决这个问题和B)如果有人知道我做错了什么.

在Windows XP上使用TortoiseSVN 1.6.3,Build 16613和Subversion 1.6.3.

svn tortoisesvn

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

asp.net Membership - 设置注释字段

以下代码未设置注释:

string userName = "yrtre.etre.423369a9-3e57-42da-934d-dae91f87a1e4";
MembershipUser user = Membership.GetUser(userName);
user.Comment = "Test";
Run Code Online (Sandbox Code Playgroud)

我也不例外.有任何想法吗?

asp.net-membership

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

如何减少结构尺寸

我有一个包含几个结构的类库,每个结构由几个值和引用类型组成.大多数值类型是必需的,一些值类型和所有引用类型都是可选的.所有结构都是XmlSerializable(必须的).

至于类库是针对移动设备的,我想减少内存占用.我的第一个想法是使用Nullable<T>值类型,但这会使内存大小增加4个字节Nullable<T>.我的第二个想法是将所有可选值类型打包到一个单独的结构中,该结构仅在需要任何成员时进行实例化.但这会迫使我IXmlSerializable在"主要"结构上实施.

有没有其他方法来"缩小"结构?

[编辑]

请原谅这个糟糕的问题.我想我必须澄清一些事情并且更具体:

类库旨在序列化数据信息GPX(GPS交换格式).结构例如是Waypoint或Track.它们具有纬度,经度等必填字段.可选字段为垂直/水平/位置精度稀释,描述,链接.

该库主要针对移动设备,如PDA.RAM很短,但可以使用大量非易失性存储器.

只要没有代码示例就无法显示.我想在开始实施之前考虑几个陷阱.

.net c# data-structures

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

在Xcode调试器中查看对象的消息

我想使用gdb或Xcode的调试器来观察发送到Objective-C 2.0程序中的对象的每条消息.我不关心参数等,因为我只需要看到它收到的每条消息(保留,释放,自动释放等).我也不想描述我的整个程序.

在Xcode中,是否有一种方法可以选择一个实例(可能是通过地址)并说"向我显示发送给该对象的每条消息"?由于管道是相当标准的,我想必须有一个探针钩或什么.有人这样做过吗?

(当然,除了对相关对象进行子类化;寻找更通用的解决方案.)

这适用于在Snow Leopard上使用Xcode 3.2进行iPhone开发.

debugging xcode objective-c

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

spring-mvc下载动作

是否有一些技巧可以让SpringMVC自定义视图在broswer中导致文件下载?我已经实现了该render方法,org.springframework.web.servlet.View但代码导致我的数据作为一个数据块写入页面,而不是开始下载操作.

try {

    Document oDoc = (Document) model.get("oDoc");
    out = new PrintWriter(response.getOutputStream());

    response.setContentType("application/vnd.ms-excel");
    response.setHeader("content-disposition", "attachment; filename=file.xls");

    GenerateXLSFile gof = new GenerateXLSFile();

    gof.outputTSVFromDom(out, oDoc);

} catch block here {

  //writes to log here

} finally {

    if (out != null) {
        out.flush();
        out.close();
    }

}
Run Code Online (Sandbox Code Playgroud)

我知道正在从服务器日志中调用render方法.我知道GenerateXLSFile是从服务器日志创建的.我知道outputTSVFromDom可以从我的JUnit测试中获取文档并对其进行转换.它还会写入服务器日志并完成.数据最终在浏览器中.根据firebug,HTTP标头看起来很正常.catch块中没有错误在服务器日志中.

我在这里错过了什么?

java excel spring-mvc download

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

如何从NetBeans运行JUnit?

我一直在努力了解如何开始编写和运行JUnit测试.

当我读这篇文章时:

http://junit.sourceforge.net/doc/testinfected/testing.htm

我得到了页面的中间部分,他们写道:"JUnit带有一个图形界面来运行测试.在窗口顶部的字段中输入测试类的名称.按"运行"按钮.

我不知道如何启动这个程序.我甚至不知道它在哪个包中,或者如何从IDE运行库类.

卡住了,我尝试了这个NetBeans教程:

http://www.netbeans.org/kb/docs/java/junit-intro.html

它似乎没问题,但后来我注意到本教程中用于测试Java类库的菜单选项与常规Java应用程序或Java Web App的菜单选项不同.因此,本教程中的说明一般不适用.

我正在使用NetBeans 6.7,并且已将JUnit 4.5导入库文件夹.在编写测试后,运行JUnit的正常方法是什么?

JUnit FAQ描述了来自Console的过程,如果这是典型的,我愿意这样做,但考虑到我在netbeans中可以做的所有事情,似乎很难相信没有更简单的方法.

非常感谢.

编辑: 如果我右键单击项目并选择"测试",则输出为:

init:
deps-jar:
compile:
compile-test:
test-report:
test:
BUILD SUCCESSFUL (total time: 0 seconds)
Run Code Online (Sandbox Code Playgroud)

这并不会使我成为测试的理想输出,特别是因为这不会改变测试条件是否为真.

有任何想法吗?

java ide junit unit-testing netbeans

20
推荐指数
4
解决办法
6万
查看次数

电影Item的UIImagePickerController

我正在iPhone 3GS上编写一个简单的视频上传应用程序,我首先将用户引导到相册,然后选择要共享或上传的视频.我以下列方式使用UIImagePickerController:

videoPickerCtrl = [[UIImagePickerController alloc] init];
 videoPickerCtrl.delegate = self;
 videoPickerCtrl.sourceType =  UIImagePickerControllerSourceTypePhotoLibrary;
 videoPickerCtrl.mediaTypes = [UIImagePickerController  availableMediaTypesForSourceType:videoPickerCtrl.sourceType];   

 videoPickerCtrl.allowsImageEditing = NO;
 videoPickerCtrl.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];
 [window addSubview:videoPickerCtrl.view];
Run Code Online (Sandbox Code Playgroud)

但我可以看到,一旦控制器被调用,就会出现令人不安的视频修剪界面.按"选择"后,无论是否触摸剪裁控制,视频都会被修剪.有没有办法绕过这个修剪界面并直接获取视频文件的路径?

iphone uiimagepickercontroller iphone-3gs

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