这一定是一件非常简单的事,但我似乎无法通过它.
我试图构建一个用户可以更新ModelForm的表单.首先,他插入一个用户ID,之后我想向他展示预先填充原始数据的表单,这样他就可以只更改他想要的字段.
在我的朋友google,stackoverflow和django文档的一些帮助之后,我来到这里:
views.py
user = User.objects.get(user_id=usr)
if request.method == 'POST':
form = TableForm(request.POST)
if form.is_valid():
#do something
else:
form = TableForm(instance=user)
return render_to_response('template.html',{'form':form})
Run Code Online (Sandbox Code Playgroud)
forms.py
class TableForm(forms.ModelForm):
pres_clinic = forms.ModelChoiceField(queryset=PresClinic.objects.all(),
widget=SelectWithPop(), label=ugettext("Clinic presentation"),
required=False)
MAYBECHOICES = (
('', '---------'),
(ugettext('Yes'), ugettext('Yes')),
(ugettext('No'), ugettext('No')))
bcg_scar = forms.ChoiceField(choices=MAYBECHOICES, label=ugettext(
"BCG scar"), required=False)
mantoux_register = forms.ChoiceField(choices=MAYBECHOICES,
label=ugettext("Mantoux register"), required=False)
date_diag = forms.DateField(widget=DateTimeWidget, label=ugettext(
"Diagnosis date"), required=False)
situation = forms.ModelChoiceField(queryset=Situation.objects.all(),
widget=SelectWithPop(), label=ugettext("Patient status"),
required=False)
date_situation = forms.DateField(widget=DateTimeWidget, label=ugettext(
"Date patient status"), required=False)
class Meta: …Run Code Online (Sandbox Code Playgroud) 我是Haskell初学者,有一个奇怪的问题.到目前为止,一切都很顺利,我已经能够正常使用Prelude读取功能.现在突然我必须不断声明它的类型才能使用它.
我总是要声明这个或类似的东西才能使用它.
let r = read::String-> Int
Run Code Online (Sandbox Code Playgroud)
我已经尝试重新启动ghci,因为我不小心重载了读取,但每当我尝试正常使用它时
read "456"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
No instance for (Read a0) arising from a use of `read'
The type variable `a0' is ambiguous
Possible fix: add a type signature that fixes these type variable(s)
Note: there are several potential instances:
instance Read () -- Defined in `GHC.Read'
instance (Read a, Read b) => Read (a, b) -- Defined in `GHC.Read'
instance (Read a, Read b, Read c) => Read (a, b, c)
-- Defined in …Run Code Online (Sandbox Code Playgroud) 我想知道Java Class是Serializable的实例.据我所知,只有在实现Serializable接口时,类才可序列化.我正在尝试使用junit生成实体类(来自某种模板)并检查它是否可序列化.
我生成的类(不实现Serializable)如下所示:
package test;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.annotation.Generated;
import javax.persistence.Id;
@Entity
@Table( name = MyTestTableDto.TABLE_NAME )
public class MyTestTableDto
{
public static final String TABLE_NAME = "MY_TEST_TABLE";
public static final String COLUMN_MY_ID_FIELD = "MY_ID_FIELD";
public static final String FIELD_MY_ID_FIELD = "myIdField";
@Id
@Column( nullable = true, length = 14, name = COLUMN_MY_ID_FIELD )
private Long myIdField;
public Long getMyIdField()
{
return myIdField;
}
public void setMyIdField( Long aMyIdField )
{
this.myIdField = aMyIdField;
}
} …Run Code Online (Sandbox Code Playgroud) 例:
class Program
{
static void Main(string[] args)
{
var myClass = Activator.CreateInstance(typeof(MyClass));
}
}
public class MyClass
{
internal MyClass()
{
}
}
Run Code Online (Sandbox Code Playgroud)
例外:
system.missingMethodException而
没有为此对象定义的无参数构造函数.
解:
var myClass = Activator.CreateInstance(typeof(MyClass), nonPublic:true);
Run Code Online (Sandbox Code Playgroud)
我无法理解,为什么我无法使用内部构造函数在程序集内创建实例.此构造函数应该在执行程序集中可用.对于这个程序集,它应该像public一样工作.
我已经使用PHP很多年了,但有一部分我从未真正了解过,并且最近一直在想.
当我执行以下操作时:
var_dump(new test());
var_dump(new test());
var_dump(new test());
var_dump(new test());
Run Code Online (Sandbox Code Playgroud)
我明白了:
object(test)[1]
object(test)[1]
object(test)[1]
object(test)[1]
Run Code Online (Sandbox Code Playgroud)
所有这些对象都具有相同的编号.我得知系统没有将实例分配给变量,因此它几乎立即被破坏.但是当我做以下事情时:
var_dump($a = new test());
var_dump($a = new test());
var_dump($a = new test());
var_dump($a = new test());
var_dump($a = new test());
var_dump($a = new test());
Run Code Online (Sandbox Code Playgroud)
我明白了:
object(test)[1]
object(test)[2]
object(test)[1]
object(test)[2]
object(test)[1]
object(test)[2]
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,第一个是1,然后第二个是2,但是它循环而不是坚持2.
我猜测应用第一个实例的变量会被第二个调用中的新实例覆盖(从而破坏它),但是为什么第三个调用会在分配之前破坏第二个实例(将实例增量返回到1) ?
如果函数的返回是a class ClassA,是否可以在这样的函数中返回任何实例ClassA?例如:someFunction :: (ClassA a) => String -> a
那么,为什么下面的这个功能不起作用?请注意,这String是一个实例Eq
getAnyEq :: (Eq a) => String -> a
getAnyEq input |input == "1" = "something"
|otherwise = "other"
Run Code Online (Sandbox Code Playgroud)
发生的错误是:
Could not deduce (a ~ [Char])
from the context (Eq a)
bound by the type signature for getAnyEq :: Eq a => String -> a
at src/InterceptorRegistry.hs:11:13-33
`a' is a rigid type variable bound by
the type signature for getAnyEq :: Eq a …Run Code Online (Sandbox Code Playgroud) 我在我的ColdFusion开发人员版本上创建了一个多实例设置.我在Maverics上运行.我对这个过程的指南是Rob Brooks-Bilson的这篇文章.
我做的一切都很对.但是,当我尝试ping ColdFusion Administrator时,我收到"Bad Gateway Error".
我正在尝试在类中创建一个方法,它将实例化当前的类.但是我还需要使用此方法在所有扩展类中正常工作.正如我从这个线程中学到的,使用self关键字来完成这项任务并不好.所以明显的选择是使用static关键字.
但是,我遇到了不同的方法,也有效.
例:
class SimpleClass
{
private $arg;
public function __construct( $arg ){
$this->arg = $arg;
}
public function getArg(){return $this->arg;}
public function setArg($arg){$this->arg = $arg;}
public function staticInstance()
{
return new static( $this->arg );
}
public function thisInstance()
{
return new $this( $this->arg );
}
public function selfInstance()
{
return new self( $this->arg );
}
}
class ExtendedClass extends SimpleClass
{
}
$c1 = 'SimpleClass';
$c2 = 'ExtendedClass';
$inst1 = new $c1('simple');
$inst2 …Run Code Online (Sandbox Code Playgroud) 我偶然注意到,在Python 2.7和3.5中,从大型数据文件生成类的简单程序运行速度要快得多.我在这里读到,使用"无限精度"整数归咎于简单枚举的减速,但即使我尝试实例化这个类的简单测试,我发现Python 3明显变慢:
class Benchmark(object):
def __init__(self):
self.members = ['a', 'b', 'c', 'd']
def test():
test = Benchmark()
if __name__ == '__main__':
import timeit
print(timeit.timeit("test()", setup="from __main__ import test"))
Run Code Online (Sandbox Code Playgroud)
我想也许这与每个类实例的大小有关,但Python 3实例小于2(56对64)
$python3 benchmarks.py
0.7017288669958361
$python benchmarks.py
0.508942842484
Run Code Online (Sandbox Code Playgroud)
我已尝试过很多关于这个主题的变体,包括在不同的机器上使用3.4,并且仍然得到相同的结果.有什么想法发生了什么?
我仍然可以在C ++中找到自己的方式,并且遇到了问题。我有一个包含另一个类(不能从其继承)的实例成员的类,其中包括回调。我想将此回调注册到父类,但遇到困难。
经过一番挖掘之后,我了解了方法!=函数,因为一个实例方法隐式地希望它本身有一个实例(我可以描述它的最佳方式!),这std::bind是一个选择,但是当签名为时我无法使它起作用。不<void(void)>。
我还阅读了有关实现为接口的方法,类似于委托(我来自Swift背景),这也很有吸引力。
这是我要达到的目标的准系统版本:
class ChildClass
{
public:
std::function<int(int)> callback;
};
class MainClass
{
public:
ChildClass childClass;
MainClass()
{
this->childClass.callback = this->square;
}
private:
int square(int i)
{
return i * i;
}
};
Run Code Online (Sandbox Code Playgroud)
我知道类型不匹配会导致错误,但是我不知道如何使它们一起玩。
instance ×10
class ×2
haskell ×2
php ×2
c# ×1
c++ ×1
c++11 ×1
callback ×1
coldfusion ×1
django ×1
django-forms ×1
function ×1
gateway ×1
ghci ×1
instances ×1
java ×1
junit ×1
overloading ×1
python ×1
python-3.x ×1
reflection ×1
return ×1
serializable ×1