我有一个类似于以下的Django模型:
class Person(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
name = models.TextField(unique=False)
Run Code Online (Sandbox Code Playgroud)
我想在models.py文件之外向一个人添加代码。所以我尝试导入它,从中继承并添加代码:例如:
class MyPerson(db.Person):
def __init__(self, person_name):
super(MyPerson, self).__init__(name=person_name)
def print_person_info(self):
print(self.name)
Run Code Online (Sandbox Code Playgroud)
我收到类似于此错误:
RuntimeError:模型类db.persons.models.Person没有声明显式的app_label,并且不在INSTALLED_APPS中的应用程序中。
尽管当然在我的settings.py文件中,但我确实将我的persons应用添加到了INSTALLED_APPS
我想我可以直接在内部添加代码,models.py但是这似乎非常不方便,因为我想在其中添加更多的代码,并且要针对多个模型添加代码。
有任何想法吗?
通常可以从模型继承吗?
我有一个需要第二个相关模型的查询
Model1.objects.all().select_related("model2__model3")
但我不需要来自模型 2 的任何字段,只需要来自模型 3 的许多不同字段,例如obj.model2.model3.name和其他
如何在不一个接一个明确提及的情况下推迟 model2 中的所有字段?
编辑:模型 1 有外键到模型 2 有外键到模型 3
如何将字符串更改为列表字符串(如问题标题中所示)
我可以简单地做类似的事情,但我有一个更简单的方法
orig = "bla bla"
final = "["
for i in orig:
final = "%s %d," % (final, i)
final = final[:-1] + "]"
Run Code Online (Sandbox Code Playgroud) 我想使用std::unique_ptr的删除器来保证一些代码会在离开作用域时执行。例如,假设我有一个Event带有 function的类set_event()。
我想确保在离开范围时,my_event.set_event()将调用该函数。我设法得到了类似的东西:
Event my_event;
auto releasing_function = [&my_event] (void*){my_event.set_event();};
std::unique_ptr<void, decltype(releasing_function)> safe_event((void*)1, releasing_function);
Run Code Online (Sandbox Code Playgroud)
但我觉得我们可以做得更好。也许是一个没有这个自动 lambda 函数的单行,或者避免这个丑陋的(void*)1. 甚至可能完全删除unique_ptr。
编辑:我想避免实用程序类。这太容易了:)
我需要将32位PE与16位DOS MZ区分开来.这样做的正确方法是什么?我可以像寻找PE头一样使用启发式算法,但我觉得它不一定是确定性的
我有一本字典
Dictionary<string, object>
Run Code Online (Sandbox Code Playgroud)
(值可以是字符串,整数或双精度型)。我将字典导出到JSON文件:
JsonConvert.SerializeObject(myDict);
Run Code Online (Sandbox Code Playgroud)
我希望保存的JSON按键排序。
我有一个函数,它接收一个类并返回该类的一个实例。一个简单的例子:
def instantiate(class_: Type[enum.Enum], param: str) -> enum.Enum:
return class_(param)
Run Code Online (Sandbox Code Playgroud)
返回值与参数的类型相同class_,因此如果 class_ 是MyEnum,则返回值将是类型MyEnum。
有什么方法可以声明吗?
我在生产中使用 Django。
我看到如果未经身份验证的用户访问公开的 API - 服务器将返回 HTTP 401 Unauthorized。
如果用户将访问不存在的API(有或没有身份验证) - 服务器将返回 404 Not found。
在我看来,这像是一种糟糕的安全做法,并允许攻击者找到服务器公开的 API。
有没有办法改变它,这样两者都会返回完全相同的结果(我认为 401 是最佳实践,不是吗?)
我想创建一个包含所有可能(x,y)值的列表.
例如 - 对于输入(x = 2,y = 3),输出应为:
np.array([
[0,0],
[0,1],
[0,2],
[1,0],
[1,1],
[1,2]])
Run Code Online (Sandbox Code Playgroud)
订单并不重要
python ×4
django ×3
python-3.x ×2
.net ×1
32-bit ×1
arrays ×1
c ×1
c# ×1
c++ ×1
c++11 ×1
dictionary ×1
json ×1
model ×1
numpy ×1
security ×1
type-hinting ×1
unique-ptr ×1
windows ×1