考虑以下用于空间征服游戏的models.py骨架:
class Fleet(models.Model):
game = models.ForeignKey(Game, related_name='planet_set')
owner = models.ForeignKey(User, related_name='planet_set', null=True, blank=True)
home = models.ForeignKey(Planet, related_name='departing_fleet_set')
dest = models.ForeignKey(Planet, related_name='arriving_fleet_set')
ships = models.IntegerField()
class Planet(models.Model):
game = models.ForeignKey(Game, related_name='planet_set')
owner = models.ForeignKey(User, related_name='planet_set', null=True, blank=True)
name = models.CharField(max_length=250)
ships = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)
我正在研究的项目有很多这样的数据模型,我根据各种数据对象之间的复杂交互来改变游戏的状态.我想避免对数据库进行大量不必要的调用,因此每回合一次,我会做类似的事情
使用ForeignKey对象时,此模型似乎完全崩溃.例如,当一支新舰队离开一颗行星时,我有一条看起来像这样的线:
fleet.home.ships -= fleet.ships
Run Code Online (Sandbox Code Playgroud)
在这条线路运行之后,我还有其他代码可以改变每个行星上的船只数量,包括行星舰队.遗憾的是,上述行中所做的更改并未反映在我之前获得的行星的QuerySet中,因此当我在转弯结束时保存所有行星时,对fleet.home船只的更改将被覆盖.
有没有更好的方法来处理这种情况?或者这就是所有ORM的方式?
当您向用户呈现涉及可能是单数或复数的实体的消息时,Rails有一个快捷方式来处理它.我在谈论这种情况:
"删除委员会?其X会议也将被删除."
Rails有一种方式可以使"会议"呈现为"会议"或"会议",具体取决于X.
我不记得那是什么方式.事实并非如此String#pluralize.
这太该死的愚蠢,但让我绝对发疯。
<input type="radio" name="OptGroup" id="<%#"rbEmail" + ((Action)Container.DataItem).ID %>" value="<%#((Action)Container.DataItem).ID %>" runat="server" /><label for="<%#"rbEmail" + ((Action)Container.DataItem).ID %>"><%#((Action)Container.DataItem).Action %></label>
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么!我也试过:
<input type="radio" name="OptGroup" id='<%#"rbEmail" + ((Action)Container.DataItem).ID %>' value='<%#((Action)Container.DataItem).ID %>' runat="server" /><label for='<%#"rbEmail" + ((Action)Container.DataItem).ID %>'><%#((Action)Container.DataItem).Action %></label>
Run Code Online (Sandbox Code Playgroud)
和
<input type="radio" name="OptGroup" id="<%#'rbEmail' + ((Action)Container.DataItem).ID %>" value="<%#((Action)Container.DataItem).ID %>" runat="server" /><label for="<%#'rbEmail' + ((Action)Container.DataItem).ID %>"><%#((Action)Container.DataItem).Action %></label>
Run Code Online (Sandbox Code Playgroud)
我特别不想使用 asp.net 单选按钮,因为它在中继器内创建的 GroupName 存在问题。我想使用一个单选按钮并将其值绑定到我的数据源。
我对C#更新鲜,我可以将文件上传到服务器,但是当我尝试上传超过5000k的大小时,它会给出异常.
这是我的C#代码
private void UploadFile(string filename)
{
try
{
PeopleMatrixService peopleMetrixService = new PeopleMatrixService();
String strFile = System.IO.Path.GetFileName(filename);
// TestUploader.Uploader.FileUploader srv = new TestUploader.Uploader.FileUploader();
FileInfo fInfo = new FileInfo(filename);
long numBytes = fInfo.Length;
double dLen = Convert.ToDouble(fInfo.Length / 10000000);
if (dLen < 8)
{
FileStream fStream = new FileStream(filename, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fStream);
byte[] data = br.ReadBytes((int)numBytes);
br.Close();
string sTmp = peopleMetrixService.UploadFile(data, strFile);
fStream.Close();
fStream.Dispose();
MessageBox.Show("File Upload Status: " + sTmp, "File Upload");
}
else
{
MessageBox.Show("The …Run Code Online (Sandbox Code Playgroud) 如果我编写这样的函数,可以在PHP中模拟命名函数参数
function pythonic(array $kwargs)
{
extract($kwargs);
// .. rest of the function body
}
// if params are optional or default values are required
function pythonic(array $kwargs = array('name'=>'Jon skeet'))
{
extract($kwargs);
// .. rest of the function body
}
Run Code Online (Sandbox Code Playgroud)
除了在IDE中失去intellisense之外,这种方法的其他可能缺点是什么?
编辑:
安全性:在这种情况下,安全性不应该是非问题,因为提取的变量仅限于功能范围吗?
我只想为组合框中的每个项添加工具提示.我正在使用c#.net windows应用程序.
没有选择
combobox.items [1] .tooltip();
有没有办法添加工具提示呢?
在我制作的网站上,有人给我发了一个屏幕截图,显示我的字幕字体太大了.
什么可能导致这个人的机器上的字体更大(Windows XP,IE7).他说"所有其他网站看起来都很好".是否有关于Windows XP的操作可以使操作更改浏览器中的字体大小等?或者Windows XP上的arial/italic可能存在问题?
这是它的CSS:
#subtitle {
position: absolute;
top: 78px;
left: 40px;
width: 738px;
text-align: right;
font-size: 8pt;
font-style: italic;
font-family: arial;
}
Run Code Online (Sandbox Code Playgroud)
我将"8pt"更改为"10px",现在适用于他.我假设他已经改变了他机器上的DPI.
我们如何创建一个可以由任何使用不同数据源提供者或web服务的asp.net应用程序使用的通用数据访问层?
我们可以为使用Web服务的应用程序创建数据访问层吗?
我刚才问过一个问题,关于哪个本地数据库适合我的情况.我需要从.NET代码和VB6访问数据库.压倒性的反应是SQLite.但是,我决定传递SQLite,因为它唯一的OLE DB提供商为我的软件的每个部署副本收取版税.它还需要在每台PC上运行激活程序.
在评估了其他选项(SQL Server Compact版本 - 几乎不起作用的OLE DB提供程序,Firebird - 不想为另一个驱动程序付费等等)之后,我得出结论,唯一可行的选择是使用.由Microsoft Access(或Jet引擎)创建的MDB文件.
我从90年代末就没有使用它,所以我对那些有经验的人有以下问题.
谢谢.
while(((long)(1000*ratio*((long)clock()-(long)t0))%100)/1000)<Data_Read_Rate);
上面的行生成以下错误:"<token"之前的语法错误.
为什么会出现这个错误?
我使用MINGW32进行开发(GCC编译器).
谢谢...