问题列表 - 第34014页

建模分层数据 - GAE

我是google-app-engine和google datastore(bigtable)的新手,我有些疑惑,这可能是设计所需数据模型的最佳方法.

我需要创建一个层次结构模型,类似于产品目录,每个域都有一些深层子域.目前,产品的结构变化小于读取要求.葡萄酒示例:

  • 起源(Toscana,Priorat,Alsacian)
  • 酒庄(仅属于一个起源)
  • 葡萄酒(仅属于一个酒庄)

所有关系都是不相交和不完整的.此外,按照要求的顺序,我们可能需要存储每种葡萄酒的使用计数器(可能需要交易)

根据文档的顺序,似乎有不同的潜在解决方案:

  • 祖先管理.使用父关系和交易
  • 伪祖先管理.使用db.ListProperty(db.Key)模拟祖先
  • 的ReferenceProperty.明确指定类之间的关系

但是为了获得葡萄酒的预期要求......有时候是按品种,有时是原产地,有时是酒庄...我担心使用这些结构的查询的行为(比如关系模型中的多个连接).如果你要求一个家庭的产品...你需要加入产品树的最后深度限定符,并加入自家庭以来)

也许最好创建一些重复的信息(按照谷歌团队的建议顺序:操作很昂贵,但存储不是,所以不应该看到重复的内容是主要问题)

其他类似问题的一些回答表明:

  • 将所有父ID作为层次结构存储在字符串中...就像路径属性一样
  • 复制Drink实体与树中所有父母之间的关系......

有什么建议?


嗨,威尔,

我们的情况更像是一种严格的分层方法,如第二个例子所示.并且查询用于检索产品列表,只检索一个不常见的.

我们需要从Origin,Winery或Variety中检索所有葡萄酒(如果我们认为该品种是严格分层树的另一个节点,仅仅是一个例子)

一种方法可能是包含路径属性,如您所述:

  • /产地/ {ID} /酒厂/ {ID} /各种/ {ID}

允许我从应用如下查询的各种葡萄酒中检索葡萄酒列表:

wines_query = Wine.all()
wines_query.filter('key_name >','/origin/toscana/winery/latoscana/variety/merlot/')
wines_query.filter('key_name <','/origin/toscana/winery/latoscana/variety/merlot/zzzzzzzz')
Run Code Online (Sandbox Code Playgroud)

或者来自Origin:

wines_query = Wine.all()
wines_query.filter('key_name >','/origin/toscana/')
wines_query.filter('key_name <','/origin/toscana/zzzzzz')
Run Code Online (Sandbox Code Playgroud)

谢谢!

python google-app-engine bigtable

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

登录控制 - 当前上下文中不存在控件

尝试将Login控件设置为User控件,但当前上下文中是否不存在任何控件?我也尝试添加到显示相同错误的母版页.

我的下面的代码都没有被识别出来?请问这里发生了什么?我已多次重建该解决方案.

if (Membership.ValidateUser(this.UserName.Text, this.Password.Text))
    {
        FormsAuthentication.RedirectFromLoginPage(UserName.Text, RememberMe.Checked);
    }
    else
    {
         Msg.Text = "Login failed. Please check your user name and password and try again.";
    }
Run Code Online (Sandbox Code Playgroud)

asp.net login

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

重用Lucene Query对象

Lucene的Query对象是可重用/无状态的吗?

如果没有,clone()荷兰国际集团一TermQuery比重建速度更快?

java lucene performance

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

SpringMVC - 移动访问时更改视图

我想知道是否有人已经解决了这个问题.我有一个SpringMVC应用程序,我们正在添加对WebKit类型移动设备(基本上是iPhone和Android)的支持,所以我想知道有人找到了一种优雅的方式来定义特定视图,具体取决于发送请求的客户端.

我知道在Controller实现中的一个简单的if可以做到这一点,但我正在寻找更灵活/更优雅的东西(特定的ViewResolver实现,或者拦截器).

将非常感谢帮助...一如既往=)


这是一个非常古老的问题.您需要做的是使用Spring-Mobile以标准的优雅方式实现这一目标

java spring spring-mvc mobile-website

11
推荐指数
2
解决办法
4629
查看次数

为什么在Windows服务停止时调用base.OnStop()?

我正在创建一个C#.Net Windows服务,我想知道你是否总是要调用base.OnStop();服务的OnStop()方法,为什么?

protected override void OnStop()
{
    threadRunning = false;

    this.ExitCode = 0;
    base.OnStop();
}
Run Code Online (Sandbox Code Playgroud)

c# windows-services

14
推荐指数
3
解决办法
9580
查看次数

按需病毒扫描Windows

我想扫描用户上传到服务器端网站的文件.我更喜欢它是我们可以按需运行的东西,它不必一直在服务器上运行.Windows Server 2008 R2有哪些解决方案?你会推荐哪些产品?

virus windows-server-2008 windows-server-2008-r2 virus-scanning

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

VS2010:VSIX安装不会在其中部署项模板

给出了两个VSX项目的演示解决方案:1.添加新项目 - >可扩展性 - >项目模板 - "ItemTemplate1"2.添加新项目 - >可扩展性 - > VSIX项目 - "VSIXProject1"

我没有对"ItemTemplate1"进行任何更改,因此它构成了默认项模板(ItemTemplate1.vstemplate):

<VSTemplate Version="3.0.0" Type="Item" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
  <Name>ItemTemplate1</Name>
  <Description>&lt;No description available&gt;</Description>
  <Icon>ItemTemplate1.ico</Icon>
  <TemplateID>e298765c-97b8-4f4c-9b7b-a6b368f914df</TemplateID>
  <ProjectType>CSharp</ProjectType>
  <RequiredFrameworkVersion>2.0</RequiredFrameworkVersion>
  <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
  <DefaultName>Class.cs</DefaultName>
</TemplateData>
<TemplateContent>
    <References>
        <Reference>
            <Assembly>System</Assembly>
        </Reference>
    </References>
  <ProjectItem ReplaceParameters="true">Class.cs</ProjectItem>
</TemplateContent>
</VSTemplate>
Run Code Online (Sandbox Code Playgroud)

在VSIXProject1中,我只编辑了source.extension.vsixmanifest,添加了对ItemTemplates1项目的引用.在此之后,vsixmanifest只包含一个内容描述:

<Content>
    <ItemTemplate>ItemTemplates</ItemTemplate>
</Content>
Run Code Online (Sandbox Code Playgroud)

然后建造它.在bin/debug中我得到了VSIXProject1.vsix,在其中我可以在ItemTemplates\CSharp\1033\ItemTemplate1.zip文件中看到我的项目模板.

一切看起来都很棒!

除了它不起作用的事实.我运行VSIXProject1.vsix,安装了vsix(我可以在扩展管理器中看到它),没有任何模板被复制到"C:\ Users\{UserName}\Documents\Visual Studio 2010\Templates\ItemTemplates"!

vsx visual-studio-2010 visual-studio-sdk vsix

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

将DateTime转换为Int格式的最佳方法

我需要将Datetime字段转换为特定格式的INT类型.例如,我想 2000-01-01 00:00:00.000转换为20010101.

在查询中进行比较以进行比较的最高效方法是什么?

就像是:

DATEPART(year, orderdate) * 10000 + DATEPART(month, orderdate) * 100 + 
    DATEPART(day, orderdate)
Run Code Online (Sandbox Code Playgroud)

要么

cast(convert(char(8), orderdate, 112) as int) 
Run Code Online (Sandbox Code Playgroud)

什么是最高效的方法?

t-sql sql-server-2000

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

Python/Django AttributeError"对象'玩家'没有属性'字段'

我正在设置管理页面,以便我可以使用它来添加数据,在这种情况下是玩家.当你去尝试在admin.py中注册Players类时,你会得到问题标题中描述的错误(对象'players'没有属性'fields').通过views.py查看我从下面粘贴了一个片段,我看不出它可能指的是什么.

对不起,如果这是一个noob问题,我对django和python都很新.

class Players(models.Model):
    player_id        = models.IntegerField(primary_key=True)
    firstname        = models.CharField(max_length=50)
    lastname         = models.CharField(max_length=50)
    team             = models.ForeignKey(Teams)
    Top200rank       = models.IntegerField(null=True, blank=True)
    position         = models.CharField(max_length=25)
    roster_status    = models.ForeignKey(RosterStatus, null=True, blank=True)
    class Meta:
        ordering = ('lastname', 'firstname')
        verbose_name_plural = 'Players'

    def __unicode__(self):
        return u"%s %s" % (self.firstname, self.last_name)
Run Code Online (Sandbox Code Playgroud)

python django django-admin

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

HTTP状态412(前提条件失败)和数据库版本控制

我正在实现一个访问数据库的RESTful Web服务.对数据库中的实体进行版本控制以检测多个更新.例如,如果当前值是{"name":"Bill", "comment":"tinker", "version":3},如果一个用户PUT {"name":"Bill", "comment":"tailor", "version":3},请求将成功(200 OK)并且新值将是{"name":"Bill", "comment":"tailor", "version":4}.如果第二个用户PUT {"name":"Bill", "comment":"sailor", "version":3"}该请求将失败(409 Conflict),因为版本号不匹配.

存在非RESTful接口,因此无法更改数据库的设计.RESTful接口调用现有接口来处理检查版本的详细信息.

RESTful Web服务中的经验法则是尽可能遵循HTTP的详细信息.在这种情况下,在请求中使用条件头并且如果版本不匹配则返回412 Precondition Failed会更好吗?相应的标题似乎是If-Match.该头部采用ETag(实体标签),其可以是资源的当前状态的表示的散列.

如果我这样做,ETags将出于外表的缘故,因为版本仍然是我正在测试的真实的东西.

有什么理由我应该这样做,除了"让它更加RESTful",无论这意味着什么?

rest http http-status-code-412

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