我verbose_name的外键字符不会打印在我的表格中.(我通过创建模型modelformset_factory
模型
class MOrders(models.Model):
amount = models.IntegerField('Bestellmenge', null=True, blank=True)
order_date = models.DateField('Bestelldatum')
id = models.AutoField(primary_key=True)
m_product_types = models.ForeignKey(MProductTypes)
class Meta:
db_table = u'm_orders'
verbose_name = 'Bestellung'
verbose_name_plural = 'Bestellungen'
unique_together = (('id','order_date','m_product_types'))
def __unicode__(self):
return "%s" % (self.order_date)
Run Code Online (Sandbox Code Playgroud)
verbose_name的m_product_types设置.乙
class MProductTypes(models.Model):
id = models.AutoField(primary_key=True)
stock = models.IntegerField('Bestand',null=True, blank=True)
m_products = models.ForeignKey(MProducts, verbose_name='Produkt')
m_sizes = models.ForeignKey(MSizes, verbose_name='Groesse')
m_colors = models.ForeignKey(MColors, verbose_name='Farbe')
class Meta:
verbose_name = u'Produktart'
verbose_name_plural = 'Produktarten'
db_table = u'm_product_types'
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?我正在使用来自trunk的最新Django版本.
让我先解释一下这个问题我的目标:
我是一个什么样的开发者?我是那个思考问题,编写代码然后自己测试的人.我主要开发网络应用程序,但也有基于UI的项目(RCP/Swing应用程序).我运行我的应用程序并单击此处,测试此...您可能知道这种"风格".
好吧,我是一个试图通过每一行/项目提高自己的人,我希望我的代码/应用程序能够进行实用的测试.我在代码中写 - 我想在代码中测试.
所以我开始使用我的一些类/函数来使用单元测试(junit 4).这适用于没有涉及UI的后端内容 - tbh:我发现很难编写大部分测试.如果我们正在构建一个webapp,可能会与会话或其他东西进行交互.我想你明白了.
我正在寻找的是一些可能带有示例的资源.任何好的书籍建议也会受到欢迎.不要误会我的意思 - 我不想只做逻辑测试的东西,我对测试我的UI感兴趣.
也许这也是一个重要的部分:我用Java开发(85%的时间)和PHP/Python(其余的)
问候
我已经建立了一个监听sales_convert_quote_to_order事件的观察者.事件被触发,我只想为订单的属性添加值.该属性已设置 - 在日志中打印 - 但magento不保存订单.我做错了什么?
Observer.php
public function addLangToOrder($observer){
Mage::log('catching convert_quote_to_order_after');
$order = $observer->getEvent()->getOrder();
$order->setCustomerLanguage(Mage::app()->getStore()->getCode());
$order->save();
Mage::log($order->getCustomerLanguage());
}
Run Code Online (Sandbox Code Playgroud)
config.xml中
<events>
<sales_convert_quote_to_order>
<observers>
<accustomer>
<type>singleton</type>
<class>Ac_Customer_Model_Observer</class>
<method>addLangToOrder</method>
</accustomer>
</observers>
</sales_convert_quote_to_order>
</events>
Run Code Online (Sandbox Code Playgroud)
我已customer_language通过安装脚本添加了该属性
$customer_lang = 'customer_language';
$installer->addAttribute('order', $customer_lang, array('type'=>'varchar'));
Run Code Online (Sandbox Code Playgroud)
该customer_language列存在于sales_flat_order表中.但它没有得到保存.
我正在使用Magento 1.4.1.1
我正在开展一个有以下要求的新项目:
几个数据库模式持有相同结构的相同表(简而言之:一个实体用于多个模式).
是否可以通过代码在这些模式之间切换?想要实现的是:
用户选择模式B并更新其中的一些实体.在此之后,他在模式A中执行插入,依此类推.我知道我可以通过基本的JDBC为这些语句提供模式来做到这一点,但如果我能避免这样做,我会这样做.
也许其他一些java ORM可以做到这一点?我只熟悉JPA/Hibernate.
问候
我不确定这是否可能是我想要达到的目标.我想得到平均列的平均值.
SELECT avg(col1), avg(col2), avg(col3) FROM tbl
Run Code Online (Sandbox Code Playgroud)
我的结果应该是所有三个平均列的平均值,这可能吗?像这样的东西
SELECT avg( col1, col2, col3) FROM tbl
Run Code Online (Sandbox Code Playgroud)
在MySQL 5.1中不起作用
据我所知,弹簧控制器是无国籍的吗?如果我将字段设置为值,则下次调用将撤消该字段.
是否有可能添加init方法或其他东西?当我的控制器被触发时,被调用一次的方法?我正在使用spring 3.0和一个注释配置atm.
我正在尝试将spring security acl实现到项目中.在构建主配置部分并创建相应的数据库模式之后,我正在尝试创建一些ACE并让魔法发生.但我一遍又一遍地面对这个例外
java.lang.IllegalArgumentException: Transaction must be running
org.springframework.util.Assert.isTrue(Assert.java:65)
org.springframework.security.acls.jdbc.JdbcMutableAclService.createOrRetrieveSidPrimaryKey(JdbcMutableAclService.java:219)
org.springframework.security.acls.jdbc.JdbcMutableAclService$1.setValues(JdbcMutableAclService.java:136)
org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:892)
org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:1)
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:586)
org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:614)
org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java:883)
org.springframework.security.acls.jdbc.JdbcMutableAclService.createEntries(JdbcMutableAclService.java:123)
org.springframework.security.acls.jdbc.JdbcMutableAclService.updateAcl(JdbcMutableAclService.java:314)
Run Code Online (Sandbox Code Playgroud)
我的基本配置部分
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close" >
<property name="driverClassName" value="${core.db.driverClassName}" />
<property name="url" value="${core.db.jdbcUrl}" />
<property name="username" value="${core.db.user}" />
<property name="password" value="${core.db.password}" />
</bean>
<bean id="aclCache"
class="org.springframework.security.acls.domain.EhCacheBasedAclCache">
<constructor-arg>
<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean">
<property name="cacheManager">
<bean class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" />
</property>
<property name="cacheName" value="aclCache" />
</bean>
</constructor-arg>
</bean>
<bean id="auditLogger"
class="org.springframework.security.acls.domain.ConsoleAuditLogger" />
<bean id="aclAuthorizationStrategy"
class="org.springframework.security.acls.domain.AclAuthorizationStrategyImpl">
<constructor-arg name="auths">
<list>
<bean
class="org.springframework.security.core.authority.GrantedAuthorityImpl">
<constructor-arg value="ACL_ADMIN" />
</bean>
<bean
class="org.springframework.security.core.authority.GrantedAuthorityImpl">
<constructor-arg value="ACL_ADMIN" …Run Code Online (Sandbox Code Playgroud) 我正在尝试many-to-many在我自己的实体和liferay Group实体之间创建.我的service.xml看起来像这样
<entity name="EntityA" local-service="true" remote-service="false">
<column name="entityAId" type="long" primary="true" />
<column name="title" type="String" />
<column name="summary" type="String" />
<column name="authorId" type="long" />
<column name="attachments" type="Collection" entity="EntityAAttachment" mapping-key="entityAId" />
<column name="groups" type="Collection" entity="com.liferay.portal.Group" mapping-table="EntityAs_Groups" />
</entity>
Run Code Online (Sandbox Code Playgroud)
根据service.xml的DTD,这应该生成多对多关系但我只能得到它
Method public java.util.List com.liferay.portal.tools.servicebuilder.ServiceBuilder.getMappingEntities(java.lang.String) throws java.io.IOException threw an exception when invoked on com.liferay.portal.tools.servicebuilder.ServiceBuilder@21ff3fcf
The problematic instruction:
----------
==> list serviceBuilder.getMappingEntities(column.mappingTable) as mapColumn [on line 201, column 49 in com/liferay/portal/tools/servicebuilder/dependencies/model_impl.ftl]
----------
Java backtrace for programmers:
----------
freemarker.template.TemplateModelException: Method public java.util.List com.liferay.portal.tools.servicebuilder.ServiceBuilder.getMappingEntities(java.lang.String) throws …Run Code Online (Sandbox Code Playgroud) 是否有可能用groovy或scala替换我每天使用的任何java编码?例如,编写包含servlet/portlet等的小型webapp.
我正在尝试在我的AD中创建一些本地组但遗憾的是如果我在上下文中设置了groupType属性,我只会收到此异常
Caused by: javax.naming.directory.InvalidAttributeValueException: Malformed 'groupType' attribute value; remaining name 'cn=localTestGroup1,ou=groups'
at com.sun.jndi.ldap.LdapClient.encodeAttribute(LdapClient.java:951)
at com.sun.jndi.ldap.LdapClient.add(LdapClient.java:999)
at com.sun.jndi.ldap.LdapCtx.c_bind(LdapCtx.java:393)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_bind(ComponentDirContext.java:277)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.bind(PartialCompositeDirContext.java:197)
at javax.naming.directory.InitialDirContext.bind(InitialDirContext.java:163)
at org.springframework.ldap.core.LdapTemplate$21.executeWithContext(LdapTemplate.java:998)
at org.springframework.ldap.core.LdapTemplate.executeWithContext(LdapTemplate.java:807)
... 36 more
Run Code Online (Sandbox Code Playgroud)
属性的值可能是错误的.或者我的问题无法解决?
private void createGroup(String groupname, String groupOU, long groupType) {
DistinguishedName dn = new DistinguishedName();
dn.add("ou", groupOU);
dn.add("cn", groupname);
DirContextAdapter ctx = new DirContextAdapter(dn);
ctx.setAttributeValues("objectclass", new String[] { "top", "group" });
ctx.setAttributeValue("groupType", groupType);
ctx.setAttributeValue("sAMAccountName", groupname);
ldapTemplate.bind(ctx);
}
public void createLocalGroup(String groupname, String groupOU) {
createGroup(groupname, groupOU, -2147483646);
}
Run Code Online (Sandbox Code Playgroud)
为了claryfication:我-2147483646 …