小编tou*_*can的帖子

Android installLocation和BOOT_COMPLETED

我有一个使用AlarmService的Android应用程序.根据文档,我不应该允许安装/移动此应用程序到外部存储.但是,用户不理解这一点(可能是由于某些设备上的内部存储空间很小) - 并要求选择在外部存储上安装(通过低星级评级).

我需要在启动时重新注册警报并让BroadcastReceiver监听BOOT_COMPLETED.但是,对于安装在SD卡上的应用程序,不会调用此方法,因为尚未安装该应用程序,因此会触发该意图.遗憾的是,EXTERNAL_APPLICATIONS_AVAILABLE也没有 - 因此我没有得到启动的通知,因此没有更改重新设置警报.

这种困境有什么办法吗?

android

12
推荐指数
1
解决办法
6641
查看次数

来自LinkedIn API的已验证邮件?

是否保证您的公共API返回的电子邮件地址已经过验证?email-address可通过r_emailaddress会员权限访问:https://developer.linkedin.com/docs/fields/basic-profile.

linkedin linkedin-api

12
推荐指数
1
解决办法
4086
查看次数

Django子查询和带有OuterRef的注释

OuterRef在Django 1.11子查询中使用annotate()时遇到问题.示例模型:

class A(models.Model):
    name = models.CharField(max_length=50)


class B(models.Model):
    a = models.ForeignKey(A)
Run Code Online (Sandbox Code Playgroud)

现在是一个带有子查询的查询(这没有任何意义,但说明了我的问题):

A.objects.all().annotate(
    s=Subquery(
        B.objects.all().annotate(
            n=OuterRef('name')
        ).values('n')[:1],
        output_field=CharField()
    )
)
Run Code Online (Sandbox Code Playgroud)

这会出现以下错误:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "myapp/models.py", line 25, in a
    n=OuterRef('name')
  File ".virtualenv/lib/python2.7/site-packages/django/db/models/query.py", line 948, in annotate
    if alias in annotations and annotation.contains_aggregate:
AttributeError: 'ResolvedOuterRef' object has no attribute 'contains_aggregate'
Run Code Online (Sandbox Code Playgroud)

是否无法基于OuterRef注释子查询?


更新#1

找到一个解决方法,这将允许我现在继续前进,但它并不好.

class RawCol(Expression):

    def __init__(self, model, field_name, output_field=None):
        field = model._meta.get_field(field_name)
        self.table = model._meta.db_table
        self.column = field.column …
Run Code Online (Sandbox Code Playgroud)

django django-subquery

9
推荐指数
2
解决办法
1926
查看次数

iOS石英嵌入pdf中的字体

我正在尝试使用自定义字体生成包含自定义符号(例如"€")的文本的PDF页面.我使用UIGraphicsBeginPDFContextToData和UIGraphicsBeginPDFPage创建了一个PDF上下文和页面.我的渲染文本代码如下所示:

NSString *fontFile = [[NSBundle mainBundle] pathForResource:@"somefont.otf" ofType:nil];
CGDataProviderRef dataProvider = CGDataProviderCreateWithFilename([fontFile cStringUsingEncoding:NSASCIIStringEncoding]);
CGFontRef cgfont = CGFontCreateWithDataProvider(dataProvider);
CTFontRef ctfont = CTFontCreateWithGraphicsFont(cgfont, 10, NULL, NULL);
CFRelease(dataProvider);        

NSString *text = @"Hello €";
int len = [text length];
CGGlyph glyphs[len];
CTFontGetGlyphsForCharacters(ctfont, (const unichar*)[text cStringUsingEncoding:NSUnicodeStringEncoding], glyphs, len);
CGContextSetTextDrawingMode(_context, kCGTextFill);
CGContextShowGlyphsAtPoint(_context, 10, 10, glyphs, len);
CFRelease(cgfont);
CFRelease(ctfont);
Run Code Online (Sandbox Code Playgroud)

渲染€-symbol有效(因为CTFontGetGlyphsForCharacters),但字体未嵌入pdf中.有没有办法做到这一点?

pdf iphone core-graphics core-text ios

7
推荐指数
1
解决办法
1011
查看次数

添加过滤更改排序

我有一个我想要添加过滤的ModelViewSet.我的简单模型看起来像

class Article(models.Model):
    date = = models.DateField()
    language = models.CharField(max_length=10)

    class Meta:
        ordering = ['-date']
Run Code Online (Sandbox Code Playgroud)

和ModelViewSet(只读):

class ArticleViewSet(viewsets.ReadOnlyModelViewSet):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer
Run Code Online (Sandbox Code Playgroud)

关于API的文章现在按照我的预期按日期排序.现在我想允许过滤语言.我已将过滤器后端DjangoFilterBackend设置为settings.py.我更新的ModelViewSet现在看起来像:

class ArticleViewSet(viewsets.ReadOnlyModelViewSet):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer
    filter_fields = ['language']
Run Code Online (Sandbox Code Playgroud)

这会将排序更改为语言ASC.添加order_by('-date')到queryset不会改变任何内容.添加ordering = ('-date', )不会改变任何东西.=>如何指定过滤和排序(或只是在允许过滤时使用默认排序)?

编辑: 目前的功能似乎来自AutoFilterSet默认情况下,REST框架建立: https://github.com/tomchristie/django-rest-framework/blob/822eb39599b248c68573c3095639a831ab6df99a/rest_framework/filters.py#L53 ...其中order_by=True并移交这在Django过滤器get_ordering_field的位置:https://github.com/alex/django-filter/blob/d88b98dd2b70551deb9c128b209fcf783b325acc/django_filters/filterset.py#L325

=>似乎我必须创建一个FilterSet类:

class LanguageFilter(django_filters.FilterSet):
    class Meta:
        model = Article
        fields = ['language']
        order_by = model()._meta.ordering

class ArticleViewSet(viewsets.ReadOnlyModelViewSet):
    queryset = Article.objects.all()
    serializer_class = ArticleSerializer
    filter_class = LanguageFilter …
Run Code Online (Sandbox Code Playgroud)

django-rest-framework

7
推荐指数
1
解决办法
6632
查看次数