我正在为一个satchmo应用程序组建管理员.Satchmo使用OneToOne关系来扩展基本Product模型,我想在一个页面上编辑它.
OneToOne关系可以作为内联吗?如果没有,最好的方法是将几个字段添加到我的管理员的给定页面,最终将保存到OneToOne关系中?
例如:
class Product(models.Model):
name = models.CharField(max_length=100)
...
class MyProduct(models.Model):
product = models.OneToOne(Product)
...
Run Code Online (Sandbox Code Playgroud)
我为我的管理员尝试了这个但它不起作用,似乎期待一个外键:
class ProductInline(admin.StackedInline):
model = Product
fields = ('name',)
class MyProductAdmin(admin.ModelAdmin):
inlines = (AlbumProductInline,)
admin.site.register(MyProduct, MyProductAdmin)
Run Code Online (Sandbox Code Playgroud)
这引发了这个错误: <class 'satchmo.product.models.Product'> has no ForeignKey to <class 'my_app.models.MyProduct'>
这是自定义表单的唯一方法吗?
编辑:刚尝试以下代码直接添加字段...也不起作用:
class AlbumAdmin(admin.ModelAdmin):
fields = ('product__name',)
Run Code Online (Sandbox Code Playgroud) 我想知道是否有一种更好的方式来有条件地传递道具而不是使用if语句.
例如,我现在有:
var parent = React.createClass({
propTypes: {
editable: React.PropTypes.bool.isRequired,
editableOpts: React.PropTypes.shape({...})
},
render: function() {
if(this.props.editable) {
return (
<Child editable={this.props.editableOpts} />
);
} else {
// In this case, Child will use the editableOpts from its own getDefaultProps()
return (
<Child />
);
}
}
});
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有if语句的情况下编写这个?我正在考虑JSX中的一种inline-if语句:
var parent = React.createClass({
propTypes: {
editable: React.PropTypes.bool.isRequired,
editableOpts: React.PropTypes.shape({...})
},
render: function() {
return (
<Child
{this.props.editable ? editable={this.props.editableOpts} : null}
/>
);
}
});
Run Code Online (Sandbox Code Playgroud)
总结:我正试图找到一种方法来定义一个道具Child,但是传递一个值(或做一些其他的),这样Child …
是否__attribute__((always_inline))强制函数由gcc内联?
我有两个问题:
1)为什么在C++中允许指向内联函数的指针?我已经读过内联函数的代码只是被复制到函数调用语句中,内联函数中没有编译时内存分配.那么为什么内联函数存在一个指针,因为内联函数没有固定的内存地址?
2)考虑以下代码:
inline void func()
{
int n=0;
cout<<(&n);
}
Run Code Online (Sandbox Code Playgroud)
它是否应该打印不同值的n每次func()调用地址?[因为我认为每次复制内联函数代码时,必须重新分配局部变量(而在正常函数的情况下,重新初始化会发生)]
我是初学者,为了加强我的概念,我问了这个问题.如果我在任何地方都错了,请纠正我.
我尝试使用百分比作为宽度来构建流体布局.这样做我试过这个:
<div style="width:50%; display:inline-table;">A</div>
<div style="width:50%; display:inline-table;">B</div>
Run Code Online (Sandbox Code Playgroud)
在这种情况下,他们不会站在一行,但如果我删除它们之间的换行符,像这样:
<div style="width:50%; display:inline-table;">A</div><div style="width:50%; display:inline-table;">B</div>
Run Code Online (Sandbox Code Playgroud)
然后它工作正常.问题出在哪儿?我怎么能这样做,但没有使用绝对位置和浮动.
抱歉英语.我希望我能很好地解释我的问题
我想创建我的第一个网页,但我遇到了一个问题.
我有以下代码:
<img src="img/logo.png" alt="logo" />
<h1>My website name</h1>
Run Code Online (Sandbox Code Playgroud)
我想知道如何使徽标和H1在同一行.谢谢!
要降低误导性答案的级别,请确保您了解inline关键字的实际含义.这里有很好的描述,内联vs静态vs extern.
所以我的问题,为什么不标记每个函数定义inline?即理想情况下,唯一的编译单位是main.cpp.或者可能还有一些用于无法在头文件中定义的函数(pimpl idiom等).
这个奇怪的请求背后的理论是,它将为优化器提供最大的信息.它当然可以内联函数实现,但它也可以进行"跨模块"优化,因为只有一个模块.还有其他优点吗?
有没有人用真正的应用程序尝试过这个?性能是否提高了?减少?!?
标记所有函数定义有哪些缺点inline?
所有这些缺点仅影响开发者.运行时缺点是什么?
当我尝试内联我的一个类的方法时,我收到编译器错误.当我拿走"内联"关键字时它会起作用.
这是一个简化的例子:
main.cpp中:
#include "my_class.h"
int main() {
MyClass c;
c.TestMethod();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
my_class.h:
class MyClass {
public:
void TestMethod();
};
Run Code Online (Sandbox Code Playgroud)
my_class.cpp:
#include "my_class.h"
inline void MyClass::TestMethod() {
}
Run Code Online (Sandbox Code Playgroud)
我尝试编译:
g++ main.cpp my_class.cpp
Run Code Online (Sandbox Code Playgroud)
我收到错误:
main.cpp:(.text+0xd): undefined reference to `MyClass::TestMethod()'
Run Code Online (Sandbox Code Playgroud)
如果我带走"内联",一切都很好.是什么导致了这个问题?(我应该如何内联类方法?是否可能?)
谢谢.
我从GCC 4.8.1得到一个非常奇怪的错误,内联函数.
我在头文件(debug.h和error.h)中定义了两个几乎相同的内联函数src/include/,唯一的区别是它们打印的内容 - DEBUG:消息的一个前缀,另一个%s: error: %s(程序名,错误消息).在定义内联函数和编译调试版本时(因此它设置宏DEBUG=1),我得到了许多未定义的引用错误:
src/main_debug.o
gcc -osrc/main_debug.o src/main.c -c -Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g -DCC="\"gcc\"" -DCFLAGS="\"-Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g\"" -DDEBUG=1 -DBTCWATCH_VERSION="\"0.0.1\""
src/lib/btcapi_debug.o
gcc -osrc/lib/btcapi_debug.o src/lib/btcapi.c -c -Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g -DCC="\"gcc\"" -DCFLAGS="\"-Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og -g\"" -DDEBUG=1
src/lib/libbtcapi_debug.a
ar rc src/lib/libbtcapi_debug.a src/lib/btcapi_debug.o
ranlib src/lib/libbtcapi_debug.a
src/lib/cmdlineutils_debug.o
gcc -o src/lib/cmdlineutils_debug.o src/lib/cmdlineutils.c -c -Wall -Wextra -Wpedantic -std=gnu11 -march=native -Og …Run Code Online (Sandbox Code Playgroud) inline ×10
c++ ×3
css ×2
function ×2
c ×1
django ×1
django-admin ×1
gcc ×1
header-files ×1
html ×1
javascript ×1
llvm-codegen ×1
one-to-one ×1
optimization ×1
position ×1
python ×1
reactjs ×1
rust ×1
tradeoff ×1
undefined ×1