问题列表 - 第21205页

如何在Django中获取ForeignKey字段而不是相关对象?

我有这个:

Class A(models.Model):
     name = models.CharField(max_length=50)

Class B(models.Model):
     a = models.ForeignKey(A)

class C(models.Model):
     a = models.ManyToManyField(A)
Run Code Online (Sandbox Code Playgroud)

当我需要以下a对象中的属性时C:

related_manager = getattr(object_c,'a') 
Run Code Online (Sandbox Code Playgroud)

这给了我一个ManyRelatedManager但问题是当我需要以下a对象中的属性时B:

object_b2 = getattr(object_b,'a')
Run Code Online (Sandbox Code Playgroud)

这给了我一个B类的对象,我需要知道如果是ForeignKey或ManyToManyField,我的意思是,我需要getattr(某事,'some_attribute')并得到模型.*不是自我中的对象.

django django-models

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

Sql Server触发器将值从新行插入另一个表

我有一个使用asp.net成员资格模式的网站.我想在aspnet_users表上设置一个触发器,它将user_id和新行的user_name插入到另一个表中.

如何从最后一次插入中获取值?

我可以选择最后一个date_created,但这看起来很臭.有没有更好的办法?

sql sql-server triggers

31
推荐指数
4
解决办法
14万
查看次数

用于 C++ 应用程序的快速非对称密码

我正在寻找一种在 C++ 程序中使用的快速非对称密码算法。我们的应用程序访问存储在存档中的只读数据(自定义格式,有点类似于 tar),我想通过非对称加密存档索引来防止对该存档进行任何修改(我知道这不是一个完美的解决方案,并且仍然可以使用某些技术提取和重新打包数据)。

存档中的一些单个文件使用对称密码进行加密,并且它们的加密密钥存储在存档索引(标头)中。这就是为什么我想对存档头进行非对称加密。

Cypher 要求:
1)算法实现应该是平台无关的。
2) 算法应该易于自己实现,或者应该在允许与专有应用程序静态链接的库(带有源代码)中提供,这意味着不能使用 GPL/LGPL/病毒许可证。MIT/BSD 许可的代码或公共域代码是可接受的。
3)如果库中提供了 cypher,理想情况下它应该具有较小的内存占用,并且实现应该是紧凑的。我更愿意使用仅实现一种密码的 C/C++ 库,而不是成熟的通用密码集合。

本来我想使用RSA,但看起来它太慢了,没有什么用处,而且没有太多替代方案。

那么,对于我可以使用什么有什么建议吗?

c++ encryption encryption-asymmetric

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

DITA Open Toolkit的开源替代品

我正在开发一个需要从持久存储(可能是JCR)处理DITA文档的Web应用程序.该DITA开放工具包是唯一的DITA实现我所知道的,但它需要您所有的文件到文件系统中存在.理想情况下,我喜欢像DITA OT一样的东西,但允许你提供一个解析器(很像XSLT URIResolver)来从其他来源提取引用的内容.

如果人们有其他想法,比如使用虚拟文件系统来欺骗DITA OT,我也很乐意听到.谢谢!

编辑:我忘了在原帖中提到我正在寻找一个开源解决方案,因为这是针对在教育社区许可下发布的项目.

java content-management-system dita

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

使用invokeLater或SwingWorker从另一个线程更新Swing组件

我正在开发一个小应用程序,它将具有Swing GUI.App正在另一个线程中执行IO任务,当该线程完成GUI时,应该相应地更新以反映线程的操作结果.在(工作者,非GUI)中运行的类具有在构造函数中传递给它的对象,该对象将用于更新GUI,因此我不需要将GUI内容放在非GUI类中,而是传递对象以更新GUI那个班.据我所知,这里的形式阅读,(线程/摆动)更新(更改)Swing GUI的安全选项将是使用javax.swing.SwingUtilities.invokeLater(),javax.swing.SwingUtilities.invokeLaterWait()和/或javax.swing.SwingWorker()基本上做同样的事情.

Swing的所有线程问题对我来说有点混乱,但我需要使用线程在GUI应用程序中做任何有意义的事情而不是在EDT中处理时挂起GUI,所以我现在感兴趣的是:

  1. 是否invokeLater并且invokeLaterWait喜欢向EDT发送消息并等待它完成处理该呼叫之前的消息时执行此操作?

  2. 从Swing线程安全方面是否正确,做这样的事情:

    interface IUPDATEGUI {  
      public void update();  
    }  
    
    // in EDT/where I can access components directly    
    class UpdateJList implements IUPDATEGUI {    
      public void update() {    
        // update JList...    
        someJList.revalidate();    
        someJList.repain();    
      }    
    }    
    
    class FileOperations implements Runnable {  
      private IUPDATEGUI upObj;  
      List<File> result = new ArrayList<File>; // upObject is accessing this  
    
      public void FileOperations(IUPDATEGUI upObj) {
        this.upObj = upObj;
      }
    
      private void someIOTask() {
        // ... …
    Run Code Online (Sandbox Code Playgroud)

java swing multithreading

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

JS/jQuery图像编辑器

有没有人偶然发现图像编辑器在纯JS或jQuery中完成 - 就像CKEditor一样?

我正在寻找一段代码,它为图像添加了句柄,因此您可以根据需要调整大小,甚至拖动图像.

谢谢.

编辑:改述.

javascript jquery image-manipulation image-processing

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

如何查找存储过程正在使用哪些索引?

我试图确定我的数据库中不再使用哪些索引.我使用以下查询运气很好:

SELECT   OBJECT_NAME(S.[OBJECT_ID]) AS [OBJECT NAME],
         I.[NAME] AS [INDEX NAME],
         i.Type_Desc as [Index Type],
         USER_SEEKS,
         USER_SCANS,
         USER_LOOKUPS,
         USER_UPDATES
FROM     SYS.DM_DB_INDEX_USAGE_STATS AS S
         INNER JOIN SYS.INDEXES AS I
           ON I.[OBJECT_ID] = S.[OBJECT_ID]
              AND I.INDEX_ID = S.INDEX_ID 
WHERE i.name is not null
AND 
    (   OBJECT_NAME(S.[OBJECT_ID]) = 'Table1'
        OR
        OBJECT_NAME(S.[OBJECT_ID]) = 'Table2'
        OR
        OBJECT_NAME(S.[OBJECT_ID]) = 'Table3'
    )
ORder by S.[OBJECT_ID], user_Seeks desc , user_scans desc
Run Code Online (Sandbox Code Playgroud)

我现在想要找到的是存储过程导致上述查询报告的搜索,扫描和查找.此信息是否存储在系统视图/表中?

澄清

正如gbn指出存储过程不直接使用索引,它使用一个使用索引的表.以下是我希望澄清我在这里要问的内容的解释.

我是否可以确定导致使用上述索引的SQL运行情况?例如,如果报告的其中一个索引有10个User_Seeks,那么是否可以确定exec sp_1导致该使用7次并exec sp_2导致该使用3次?

t-sql sql-server sql-server-2005

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

ExecutorService,避免任务队列过满的标准方法

我正在使用ExecutorService以方便并发多线程程序.请参考以下代码:

while(xxx) {
    ExecutorService exService = Executors.newFixedThreadPool(NUMBER_THREADS);
    ...  
    Future<..> ... = exService.submit(..);
    ...
}
Run Code Online (Sandbox Code Playgroud)

在我的情况下,问题是submit()如果所有人NUMBER_THREADS都被占用则不会阻塞.结果是任务队列被许多任务淹没.这样做的结果是,关闭执行服务ExecutorService.shutdown()需要ExecutorService.isTerminated()很长时间(长时间都是假的).原因是任务队列仍然很满.

现在我的解决方法是使用信号量来禁止在任务队列中包含许多条目ExecutorService:

...
Semaphore semaphore=new Semaphore(NUMBER_THREADS);

while(xxx) {
    ExecutorService exService = Executors.newFixedThreadPool(NUMBER_THREADS); 
    ...
    semaphore.aquire();  
    // internally the task calls a finish callback, which invokes semaphore.release()
    // -> now another task is added to queue
    Future<..> ... = exService.submit(..); 
    ...
}
Run Code Online (Sandbox Code Playgroud)

我确信有更好的封装解决方案?

java concurrency

29
推荐指数
4
解决办法
5万
查看次数

Little endian与Big endian

让我说我有4Byte整数,我想把它转换为2Byte短整数.我是对的,在(小和大端)短整数将包含这个4Byte整数的2个最低有效字节?

第二个问题:
小端和大端处理器中这些代码的结果是什么?

int i = some_number;  
short s = *(short*)&i;
Run Code Online (Sandbox Code Playgroud)

在大端处理器2中的恕我直言,将复制最重要的字节,在小端,将复制2个最低有效字节.

c pointers casting endianness

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

查找数组之间的重复项

假设给你两个恒定长度为3的整数数组,并且你总是确定给定两个arrray的两个元素将具有相同的值.

所以假设数组A有三个值:a,b,c.和数组B有三个值:d,e,f.

我们确信其中两个值是相同的.我们被要求将这四个不同的值放在大小为4的数组中,这样输出数组C应该在索引1和2中具有来自数组A和B的相同值,并且在索引0和3处它应该具有不同的值阵列A和B我实现了它,但是对这个解决方案真的不满意......有没有人有更好的解决方案?除了将我的计数器放在数组中的那个...... :)

int[] a = { 1, 201, 354 };
int[] b = { 404, 201, 354 };

int[] c = new int[4];

for (int i = 0; i < c.Length; i++)
{
    Console.WriteLine(c[i]);
}
Run Code Online (Sandbox Code Playgroud)

c# algorithm

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