我在模型中添加了"已取消"字段,有没有办法将模型默认查询修改为cancelled = False?无需修改我的所有过滤/排除查询?
我正在寻找一种方法来获取具有类型检查的对象属性名称,以便在重构后捕获可能的回归.
这是一个例子:我必须将属性名称作为字符串传递的组件,如果我将尝试更改模型中的属性名称,它将被破坏.
interface User {
name: string;
email: string;
}
class View extends React.Component<any, User> {
constructor() {
super();
this.state = { name: "name", email: "email" };
}
private onChange = (e: React.FormEvent) => {
let target = e.target as HTMLInputElement;
this.state[target.id] = target.value;
this.setState(this.state);
}
public render() {
return (
<form>
<input
id={"name"}
value={this.state.name}
onChange={this.onChange}/>
<input
id={"email"}
value={this.state.email}
onChange={this.onChange}/>
<input type="submit" value="Send" />
</form>
);
}
}
Run Code Online (Sandbox Code Playgroud)
如果有任何好的解决方案来解决这个问题我会很感激.
在Ruby中:
for i in A do
# some code
end
Run Code Online (Sandbox Code Playgroud)
是相同的:
A.each do |i|
# some code
end
Run Code Online (Sandbox Code Playgroud)
for 不是内核方法:
for红宝石究竟是什么" "就像是:
total = sum i in I {x[i]}
Run Code Online (Sandbox Code Playgroud)
映射到:
total = I.sum {|i] x[i]}
Run Code Online (Sandbox Code Playgroud) 我希望从我的视图中动态更新ModelForm的内联Meta类.尽管此代码似乎更新在Meta类中的排除列表,从输出as_p(),as_ul()等不反映更新的Meta排除.
我假设在创建ModelForm时不是在as_*()调用时生成html .有没有办法强制更新HTML?
这甚至是最好的方法吗?我只是假设这应该工作.
思考?
from django.forms import ModelForm
from testprogram.online_bookings.models import Passenger
class PassengerInfoForm(ModelForm):
def set_form_excludes(self, exclude_list):
self.Meta.exclude = excludes_list
class Meta:
model = Passenger
exclude = []
Run Code Online (Sandbox Code Playgroud) 在使用C++模板元编程时,我发现很难弄清楚我的代码有什么问题.可能我不是很擅长理解错误消息,但据我所知,我不能诉诸于打印语句或断点来弄清楚发生了什么.
在尝试找出为什么没有编译的东西时,您可以提供哪些提示或建议,而不仅仅是手动选择代码并希望它来找我?
我在下面有一个带有运行时for循环的C++代码段,
for(int i = 0; i < I; i++)
for (int j = 0; j < J; j++)
A( row(i,j), column(i,j) ) = f(i,j);
Run Code Online (Sandbox Code Playgroud)
该片段被重复调用.循环边界'I'和'J'在编译时是已知的(I/J是2到10的顺序).我想以某种方式使用模板展开循环.主要的瓶颈是row()和column()以及f()函数.我想用使用row<i,j>::enum技巧在编译时评估的等效元程序替换它们.
我真正喜欢的是最终将循环解析为一系列语句的东西,例如:
A(12,37) = 0.5;
A(15,23) = 0.25;
A(14,45) = 0.25;
Run Code Online (Sandbox Code Playgroud)
但是我想这样做而不会破坏for- for结构太多.本着精神:
TEMPLATE_FOR<i,0,I>
TEMPLATE_FOR<j,0,J>
A( row<i,j>::value, column<i,j>::value ) = f<i,j>::value
Run Code Online (Sandbox Code Playgroud)
可以提升:: lambda(或其他东西)帮我创建吗?
我在将一些东西从Solaris移植到Linux时遇到的一个问题是Solaris编译器__FILE__在预处理过程中将宏扩展为文件名(例如MyFile.cpp),而Linux上的gcc扩展到完整路径(例如/ home /用户/ MYFILE.CPP).使用basename()可以很容易地解决这个问题但是......如果你经常使用它,那么对basename()的所有调用都必须加起来,对吧?
这是问题所在.有没有办法使用模板和静态元编程,在编译时运行basename()或类似的?由于它__FILE__是常量且在编译时已知,因此可能更容易.你怎么看?可以吗?
我希望能够在编译时使用模板元编程创建一个计算值数组(为了简单起见,我希望每个值都是它的索引的平方).这可能吗?如何初始化数组中的每个位置?
(是的,有更简单的方法可以在不使用模板元编程的情况下执行此操作,只是想知道是否可以使用数组执行此操作.)
这是一个奇怪的,非Swift-thonic的问题,所以请耐心等待.
我想在Swift中做类似于我目前在Objective-C/C++中所做的事情,所以我将从描述它开始.
我有一些现有的C++代码定义了一个宏,当在代码中的任何地方使用表达式时,它会在编译时将一个条目插入到二进制文件的表中.换句话说,用户写这样的东西:
#include "magic.h"
void foo(bool b) {
if (b) {
printf("%d\n", MAGIC(xyzzy));
}
}
Run Code Online (Sandbox Code Playgroud)
并感谢定义
#define MAGIC(Name) \
[]{ static int __attribute__((used, section("DATA,magical"))) Name; return Name; }()
Run Code Online (Sandbox Code Playgroud)
在编译时实际发生的是创建一个名为(modulo name-mangling)的静态变量xyzzy并将其分配到magical我的Mach-O二进制文件的特殊部分中,因此运行nm -m foo.o转储符号会显示如下内容:
0000000000000098 (__TEXT,__eh_frame) non-external EH_frame0
0000000000000050 (__TEXT,__cstring) non-external L_.str
0000000000000000 (__TEXT,__text) external __Z3foob
00000000000000b0 (__TEXT,__eh_frame) external __Z3foob.eh
0000000000000040 (__TEXT,__text) non-external __ZZ3foobENK3$_0clEv
00000000000000d8 (__TEXT,__eh_frame) non-external __ZZ3foobENK3$_0clEv.eh
0000000000000054 (__DATA,magical) non-external [no dead strip] __ZZZ3foobENK3$_0clEvE5xyzzy
(undefined) external _printf
Run Code Online (Sandbox Code Playgroud)
通过魔术getsectbynamefromheader() …
metaprogramming ×10
c++ ×4
templates ×3
django ×2
python ×2
boo ×1
c ×1
clojure ×1
debugging ×1
django-forms ×1
haskell ×1
lisp ×1
mach-o ×1
modelform ×1
optimization ×1
reflection ×1
ruby ×1
swift ×1
swift2 ×1
typescript ×1