这是我的代码:
class Publisher(models.Model):
name = models.CharField(
max_length = 200,
unique = True,
)
url = models.URLField()
def __unicode__(self):
return self.name
def save(self):
pass
class Item(models.Model):
publisher = models.ForeignKey(Publisher)
name = models.CharField(
max_length = 200,
)
code = models.CharField(
max_length = 10,
)
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
我希望能够从Publisher保存功能访问每个项目.我怎样才能做到这一点?
例如,我想在发布者的保存下将文本附加到与此发布者关联的每个项目的"代码"字段中.
编辑:当我尝试实现第一个解决方案时,我收到错误"'Publisher'对象没有属性'item_set'".显然我无法以这种方式访问它.还有其他线索吗?
编辑2:我发现发生的问题是,当我创建一个新的Publisher对象时,我添加内联项.因此,在尝试保存发布者并访问项目时,它们不存在.
有没有办法解决?!
我有以下型号:
class Indicator(models.Model):
name = models.CharField(max_length=200)
category = models.ForeignKey(IndicatorCategory)
weight = models.IntegerField()
industry = models.ForeignKey(Industry)
def __unicode__(self):
return self.name
class Meta:
ordering = ('name',)
class IndicatorRatingOption(models.Model):
indicator = models.ForeignKey(Indicator)
description = models.TextField()
value = models.FloatField(null=True)
def __unicode__(self):
return self.description
class Rating(models.Model):
product = models.ForeignKey(Product, null=True)
company = models.ForeignKey(Company, null=True)
rating_option = models.ForeignKey(IndicatorRatingOption)
value = models.IntegerField(null=True)
Run Code Online (Sandbox Code Playgroud)
我需要做的是获得两家公司的所有公司评级选项,而不会在指标(rating.rating_option.indicator)上重叠.如果存在冲突,公司'a'将永远战胜公司'b'.我该怎么做呢?
我想创建一个应呈现给用户的选项少于 255 个的表,并使用 1 字节的整数作为主键。类似下面的代码,但如果可以创建的话,最好使用 TinyIntegerField。
class Category(models.Model):
id = models.SmallIntegerField(auto_increment=True, primary_key=True)
category = models.CharField(max_length=254, unique=True)
class Test(models.Model):
category = models.ForeignKey(Category)
Run Code Online (Sandbox Code Playgroud)
我假设 Django 中没有 TinyInteger,因为 Postgres 中没有 TinyInteger。为什么Postgres中没有tinyint?
在Django文档中,唯一的自动增量是一个AutoField,如何将自动增量应用于a SmallIntegerField?
如何在组合中应用"prefetch_related"和"values"方法?
以前,我有以下代码.优化性能需要限制此查询中的字段.
Organizations.objects.values('id','name').order_by('name')
Run Code Online (Sandbox Code Playgroud)
现在,我需要预取其关联并使用"prefetch_related"方法将其附加到序列化程序中.
Organizations.objects.prefetch_related('locations').order_by('name')
Run Code Online (Sandbox Code Playgroud)
在这里,我似乎找不到使用"prefetch_related"后限制字段的方法.
我尝试过以下操作,但是这样做时序列化程序没有看到相关的"位置".
Organizations.objects.prefetch_related('locations').values("id", "name").order_by('name')
Run Code Online (Sandbox Code Playgroud)
模型骨架:
class Organizations(models.Model):
name = models.CharField(max_length=40)
class Location(models.Model):
name = models.CharField(max_length=50)
organization = models.ForeignKey(Organizations, to_field="name", db_column="organization_name", related_name='locations')
class Meta:
db_table = u'locations'
Run Code Online (Sandbox Code Playgroud) 我编写了一个小函数,将 Windows 路径“转换”为 OSX 路径并在 Finder 中打开它。该函数可以与 bash 完美配合,但不能与 zsh 配合使用(我使用 oh-my-zsh)。
问题是它解析特定的反斜杠组合,例如:\f、\a、\01、\02、\03等......
例如,此路径字符串是输入:
"\60_Project\6038_Projekt_Part\05_development\assets\img\facebook"
Run Code Online (Sandbox Code Playgroud)
在翻译函数之后,\f序列(来自img\facebook)被错误地翻译为空格,产生输出:
"/60_Project/6038_Project_Part_developmentssets/img
acebook"
Run Code Online (Sandbox Code Playgroud)
我的目标是只粘贴 Windows 路径,而不必手动更改任何内容。
如何使用 zsh 转义或引用字符串以获得我想要的结果?
这是我写的代码:
"\60_Project\6038_Projekt_Part\05_development\assets\img\facebook"
Run Code Online (Sandbox Code Playgroud)
用法:
"/60_Project/6038_Project_Part_developmentssets/img
acebook"
Run Code Online (Sandbox Code Playgroud)
结果应该是 Finder 打开:
/Volumes/myvolume/60_Project/6038_Project_Part/05_development/assets/img/facebook
Run Code Online (Sandbox Code Playgroud) 我刚刚开始使用 django 学习后端开发。我的问题是我是只提交服务器文件夹中的项目文件,还是应该将.env文件夹提交到存储库?
我做了以下工作:
config.json保护我的 API 密钥。.gitignore。如果我提交或不提交会.env怎样?
我正在尝试通过 python 修改大型 Redis 集群中的值StrictRedisCluster,并且我正在尝试并行迭代键。
到目前为止我已经尝试过
keys()超时的命令scan()/scan_iter()在单个线程中遍历值,这太慢了有没有办法在线程中按块进行扫描?也许扫描集群的每个节点,或者每个键空间?我注意到一个 CLI 命令GETKEYSINSLOT,但它在 python Redis 中不可用。
我所有的密钥都是字符串 UUID 格式
我创建了一个 IAM 角色并将其分配给我的 EC2 实例。我创建了一个 IAM 角色策略并将其链接到我的 S3 存储桶。我现在可以使用aws-cliEC2 实例上的列出我的 S3 存储桶中的文件。
[root@ec2.hostname.aws.com ~]# aws --region eu-west-1 s3 ls s3://s3-bucket-name
2017-05-02 02:37:39 137 index.html
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试访问curl该文件,则会收到拒绝访问错误:
[root@ec2.hostname.aws.com ~]# curl https://s3-eu-west-1.amazonaws.com/s3-bucket-name/index.html
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>782176F442A4995A</RequestId><HostId>qZWZTXZdlgtD4BiVYfp5+Mj/gU3UXRiYQmsSyaAhwED1JtzUWs9QKE99RmsQ6w0uDB
Run Code Online (Sandbox Code Playgroud)
有没有一种方法可以让这个curl请求工作而不放宽 S3 存储桶的权限?诸如身份验证、标头等之类的东西。
对于某些库,在pythonrequirements.txt中使用>=和时有什么区别?例如和~=requests >= 2.18.0requests ~= 2.18.0
我已经尝试过这两种方法并且工作正常
requests >= 2.18.0
requests ~= 2.18.0
Run Code Online (Sandbox Code Playgroud)
谁能解释一下>=和~=运算符之间的确切区别吗?
我是 ECS 新手,对于如何使用docker-compose包含多个服务的文件自动在 AWS ECS Fargate 中进行部署,我有些困惑。
我能够通过以下步骤执行从 git Push 到部署单个容器的端到端:
但是当您拥有多项服务时会发生什么?
docker-compose文件才能兼容 ECS?如果是这样,如果整个项目都在一个文件夹中(pydanny cookiecutter 结构),我如何分离存储库?docker-compose?docker-composeECS 上的卷?我使用pydanny cookiecutter生成的以下 docker-compose 文件,它有 7 个服务:
Django+ Postgres+ Redis+ Celery+ Celeryworker+ Celerybeat+Flower
docker-compose.yml
version: '3'
volumes:
local_postgres_data: {}
local_postgres_data_backups: {}
services:
django: &django
build:
context: .
dockerfile: …Run Code Online (Sandbox Code Playgroud) python ×6
django ×4
amazon-ec2 ×1
amazon-ecs ×1
amazon-s3 ×1
docker ×1
git ×1
macos ×1
oh-my-zsh ×1
pip ×1
postgresql ×1
redis ×1
virtualenv ×1
zsh ×1
zshrc ×1