我正在尝试在管理列表视图中显示外键"公司名称".但是,列表视图只显示公司的(无).我做错了什么?
admin.py
class CampaignAdmin(admin.ModelAdmin):
#fields = ['name', 'Company_name', 'active', 'modified', 'created']
list_display = ['name', 'related_company', 'active', 'modified', 'created']
list_filter = ['active']
search_fields = ['name']
sortable_field_name = "name"
autocomplete_lookup_fields = {
'name': ['name'],
}
def related_company(self, obj):
return '%s'%(obj.Company.name)
related_company.short_description = 'Company'
admin.site.register(Campaign, CampaignAdmin)
Run Code Online (Sandbox Code Playgroud)
model.py
class Company(models.Model):
companyid = models.CharField(max_length=255, primary_key=True, db_column='companyID')
name = models.CharField(max_length=105)
logourl = models.CharField(max_length=255, db_column='logoURL')
website = models.CharField(max_length=255, blank=True)
active = HibernateBooleanField(default=False)
created = models.DateTimeField()
modified = models.DateTimeField(null=True, blank=True)
class Meta:
db_table = u'company'
ordering = ['name'] …Run Code Online (Sandbox Code Playgroud) 我在supervisord中设置了一个环境变量:
[program:worker]
directory = /srv/app/
command=celery -A tasks worker -Q default -l info -n default_worker.%%h
environment=BROKER="amqp://admin:password@xxxxx:5672//"
Run Code Online (Sandbox Code Playgroud)
在我的celeryconfig.py中,然后尝试读取这样的变量.
BROKER = os.environ['BROKER']
Run Code Online (Sandbox Code Playgroud)
但我仍然得到下面的错误,为什么?
File "/usr/local/lib/python2.7/dist-packages/celery/loaders/base.py", line 106, in import_module
return importlib.import_module(module, package=package)
File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/srv/app/celeryconfig.py", line 6, in <module>
BROKER = os.environ['BROKER']
File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__
raise KeyError(key)
KeyError: 'BROKER
Run Code Online (Sandbox Code Playgroud)
根据评论中的建议,有一个envs的文件转储:
{
'SUPERVISOR_GROUP_NAME': 'celery_default_worker',
'TERM': 'linux',
'SUPERVISOR_SERVER_URL': 'unix: ///var/run/supervisor.sock',
'UPSTART_INSTANCE': '',
'RUNLEVEL': '2',
'UPSTART_EVENTS': 'runlevel',
'PREVLEVEL': 'N',
'SUPERVISOR_PROCESS_NAME': 'celery_default_worker',
'UPSTART_JOB': 'rc',
'PWD': '/',
'SUPERVISOR_ENABLED': …Run Code Online (Sandbox Code Playgroud) 有没有办法动态从我的__init__.py文件中获取版本标签,并将其附加到dockerrun.aws.json图像名称,例如::
{
"AWSEBDockerrunVersion": "1",
"Authentication": {
"Bucket": "dockerkey",
"Key": "mydockercfg"
},
"Image": {
"Name": "comp/app:{{version}}",
"Update": "true"
},
"Ports": [
{
"ContainerPort": "80"
}
]
}
Run Code Online (Sandbox Code Playgroud)
当我这样做的eb deploy时候会构建正确的版本.目前,我必须继续修改每个部署的json文件.
假设:我有一个名为Car的模型,它与一个用户有关.我担心的是默认的Django Admin.我通过下拉列表将用户分配给汽车(这是默认的Django行为,所以我被告知).
如果我有1000多个用户可以从下拉菜单中选择,会发生什么.管理员是否处理此问题,如果是这样的话?
我在申请中看到了一些常见的事情.当我很少或没有流量时,我的服务器无缘无故地放慢速度.经过大量的试验和错误后,我发现当我删除了ToOneField我的TastyPie资源时,我的问题就消失了!
我发现的是由于一些未知的原因,TastyPie正在这些ToOneFields上进行数据库更新,这是没有充分理由的!什么......时刻!

我在这里发现了一个可能的错误,声称修复了更新问题.我已经安装了最新版本,pip但仍然看到了这个问题.
有人可以帮忙吗?
class IncentiveResource(ModelResource):
product_introducer = fields.ToOneField(ProductResource, 'referrer_product', full=True)
product_friend = fields.ToOneField(ProductResource, 'referee_product', full=True)
class Meta:
queryset = Incentive.objects.all().order_by('-date_created')
resource_name = 'incentive'
allowed_methods = ['get']
authentication = MultiAuthentication(ClientAuthentication(), ApiKeyAuthentication())
authorization = Authorization()
filtering = {
"active": ALL,
}
always_return_data = True
cache = SimpleCache(cache_name='resources', timeout=10)
Run Code Online (Sandbox Code Playgroud)
这里交通很少,但变得无法使用.

我跑了一下
pip install -r /requirements.txt
Run Code Online (Sandbox Code Playgroud)
如果我的一个软件包出现故障,整个过程就会中止,并且不会安装任何其他软件包.
是否有一个命令,如果发生错误,它将继续安装下一个包?
所以对于我的用例:这是我使用fab文件做的事情:
def _install_requirements():
"""
Installs the required packages from the requirements.txt file using pip.
"""
if not exists(config.SERVER_PROJECT_PATH + '/requirements.txt', use_sudo=True):
print('Could not find requirements')
return
sudo('pip install -r %s/requirements.txt' % SERVER_PROJECT_PATH)
Run Code Online (Sandbox Code Playgroud) 我如何实现以下....
每次点对象显示在模板中时,它必须始终由当前用户过滤.所以,在模型中我尝试了下面的代码.
这可能吗?我怎样才能实现上述目标?
Models.py
from django.db import models
from django.contrib.auth.models import User
POINTS_PENDING, POINTS_ADDED, POINTS_DEDUCTED, ORDER_PROCESSING = range(4)
STATUS_OPTIONS = (
(POINTS_PENDING, ('Pending')),
(POINTS_ADDED, ('Added')),
(POINTS_DEDUCTED, ('Deducted')),
(ORDER_PROCESSING, ('Processing')),
)
class PointsManager(models.Manager):
def points_list(self,User):
list = Points.objects.filter(points_user=User).exclude(status=ORDER_PROCESSING)
return list
class Points (models.Model):
user = models.ForeignKey(User)
points = models.IntegerField(verbose_name=("Points"), default=0)
created = models.DateTimeField(("Created at"), auto_now_add=True)
updated = models.DateTimeField(verbose_name=("Updated at"), auto_now=True)
objects = PointsManager()
Run Code Online (Sandbox Code Playgroud) 我的 Django Rest Framework 和权限有问题。例如,DRF 不会让我对我的视图拥有多个权限。
如果我以管理员用户身份登录 API,则可以使用以下 mixin 访问:
class PermissionMixin(object):
permission_classes = (permissions.IsAdminUser)
Run Code Online (Sandbox Code Playgroud)
现在,如果我添加第二个权限 mixin:
class PermissionMixin(object):
permission_classes = (permissions.IsAdminUser, TokenHasReadWriteScope)
Run Code Online (Sandbox Code Playgroud)
管理员用户被拒绝访问。应该发生的是管理员用户和具有令牌的用户都可以访问,但是现在只有 TokenHasReadWriteScope 用户可以访问。
有没有其他人遇到过这个问题,这是怎么回事?
我需要两种类型的用户都可以访问。
这是我的观点:
class SomeList(PermissionMixin, generics.ListCreateAPIView)
queryset = Award.objects.all()
serializer_class = AwardSerializer
Run Code Online (Sandbox Code Playgroud)
PS TokenHasReadWriteScope 来自django-oauth-toolkit
我想为我的DRF应用程序编写测试,该应用程序使用multipart发布json和文件.
这是我到目前为止所尝试的但是collection_items(在create方法中) 是空白的.我是否需要修改我的视图以使其正常工作,或者我在下面的测试用例中做错了什么?
我的测试:
image = Image.new('RGB', (100, 100))
tmp_file = tempfile.NamedTemporaryFile(suffix='.jpg')
image.save(tmp_file)
files = {"collection_items": [{"image": tmp_file}]}
payload = json.dumps({
"title": "Test Collection",
})
self.api_factory.credentials(Authorization='Bearer ' + self.token)
response = self.api_factory.post(url, data=payload, files=files, format='multipart')
Run Code Online (Sandbox Code Playgroud)
这是模型:
class Collection(models.Model):
title = models.CharField(max_length=60)
collection_items = models.ManyToManyField('collection.Item')
class Item(models.Model):
image = models.ImageField(upload_to="/",null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)
串行器:
class ItemCollectionDetailSerializer(serializers.ModelSerializer):
class Meta:
model = Item
fields = ('id', 'image')
read_only_fields = ('image',)
class CollectionListSerializer(serializers.ModelSerializer):
url = serializers.HyperlinkedIdentityField(view_name='col_detail')
collection_items = ItemCollectionDetailSerializer(many=True, …Run Code Online (Sandbox Code Playgroud) 使用Django 过滤器时如何添加初始/默认值?
例如,这样的事情 initial=False
class UserFilter(django_filters.FilterSet):
archive = django_filters.BooleanFilter(initial=False)
class Meta:
model = User
fields = ['archive']
Run Code Online (Sandbox Code Playgroud)
我已经厌倦了覆盖,__init__但这似乎不起作用。
python ×9
django ×8
django-admin ×2
celery ×1
docker ×1
python-3.x ×1
supervisord ×1
tastypie ×1