小编ils*_*005的帖子

Django REST Framework部分更新和验证

我想对我的序列化程序执行部分更新.问题是我在对象级别进行了一些验证.所以is_valid()调用总是失败,我无法保存更新的序列化程序.我可以以某种方式阻止对部分更新的对象级别验证吗?这里有一个代码示例:

class ModelSerializer(serializers.ModelSerializer)
    class Meta:
        model = A
        fields = ('field_b','field_b')

    def validate(self,attrs):
         if attrs.get('field_a') <= attrs.get('field_b'):
             raise serializers.ValidationError('Error')
Run Code Online (Sandbox Code Playgroud)

在我的视图中部分更新方法:

class ModelViewSet(viewsets.ModelViewSet):
    def partial_update(self, request, *args, **kwargs):
        instance = self.get_object()
        serializer = self.serialize(instance, data=request.data, partial=True)
    serializer.is_valid(raise_exception=True)
    new_instance = serializer.save()
    return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)

问题是我不能在没有'field_b'的情况下更新'field_a'.谢谢你的帮助!

django django-rest-framework

6
推荐指数
1
解决办法
1万
查看次数

Spark在启动后一分钟就会丢失所有执行程序

pyspark使用默认设置在8节点Google dataproc群集上运行.启动后几秒钟我看到30个执行器核心正在运行(如预期的那样):

    >>> sc.defaultParallelism
    30

一分钟后:

    >>> sc.defaultParallelism
    2

从那时起,所有操作仅在2个核心上运行:


    >>> rng = sc.parallelize(range(1,1000000))
    >>> rng.cache()
    >>> rng.count()
    >>> rng.getNumPartitions()
    2

如果我rng.cache()在核心仍处于连接状态时运行,则它们会保持连接并且作业会分配

检查监控应用程序(主节点上的端口4040)显示执行程序已删除:

Executor 1
Removed at 2016/02/25 16:20:14
Reason: Container container_1456414665542_0006_01_000002 exited from explicit termination request." 
Run Code Online (Sandbox Code Playgroud)

是否有一些设置可以保持核心连接而无需解决方法?

apache-spark pyspark google-cloud-dataproc

6
推荐指数
1
解决办法
4504
查看次数

如何在python动画中添加图例/标签

我想在 python 动画中添加一个图例,如下line.set_label()所示。它类似于plt.plot(x,y,label='%d' %*variable*).

但是,我发现代码在这里不起作用。动画仅显示线条变化,但没有可用的标签或图例。我该如何解决这个问题?

 from matplotlib import pyplot as plt 
 from matplotlib import animation

fig = plt.figure()

ax = plt.axes(xlim=(0, 2), ylim=(0, 100))

N = 3
lines = [plt.plot([], [])[0] for _ in range(N)]


def init():    
    for line in lines:
        line.set_data([], [])
    return lines

def animate(i):
    for j,line in enumerate(lines):
        line.set_data([0, 2], [10*j,i])
        line.set_label('line %d, stage %d'%(j,i))
    return lines

anim = animation.FuncAnimation(fig, animate, init_func=init,
                               frames=100, interval=20, blit=True)

plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib

6
推荐指数
2
解决办法
1万
查看次数

How to use python multiprocessing module in django view

I have a simple function that go over a list of URLs, using GET to retrieve some information and update the DB (PostgresSQL) accordingly. The function works perfect. However, going over each URL one at a time talking too much time.

Using python, I'm able to do to following to parallel these tasks:

from multiprocessing import Pool

def updateDB(ip):
     code goes here...

if __name__ == '__main__':
    pool = Pool(processes=4)              # process per core
    pool.map(updateDB, ip)
Run Code Online (Sandbox Code Playgroud)

This is working …

python django multiprocessing

6
推荐指数
2
解决办法
2万
查看次数

如何在django聚合中动态分配别名?

我正在尝试django聚合.我正在动态调用这些聚合,需要动态分配和别名.我希望生成的别名是原始字段的名称.

例如:

from django.db import models as aggregator

field = 'person'
reducer = getattr(aggregator, 'Sum')

query_set.aggregate(field=reducer(field))
Run Code Online (Sandbox Code Playgroud)

我期待这个:

{'person':12}
Run Code Online (Sandbox Code Playgroud)

但得到这个:

{'field':12}
Run Code Online (Sandbox Code Playgroud)

有没有办法在这种情况下动态分配别名?

python django aggregate-functions django-models django-queryset

6
推荐指数
1
解决办法
625
查看次数

POST API 可浏览视图中未出现的字段 - django Rest Framework

我正在尝试使用 django Rest 框架编写用于将产品添加到购物车的 API。我写了一个简单的serializer.py 和view.py。

模型.py:

class Product(models.Model):
    title = models.CharField(max_length=100,unique=True)
    description = models.TextField()
    image_url = models.URLField(max_length=200)
    price = models.DecimalField(max_digits=8,decimal_places=2)
    date_available = models.DateField
class LineItem(models.Model):
    product = models.ForeignKey(Product)
    unit_price = models.DecimalField(max_digits=8,decimal_places=2)
    quantity = models.IntegerField()
Run Code Online (Sandbox Code Playgroud)

序列化程序.py

class LineItemSerializer(serializers.ModelSerializer):
    class Meta:
        model = LineItem
        fields = ('product', 'unit_price', 'quantity')

    def product(self, instance):
        return instance.product.title
Run Code Online (Sandbox Code Playgroud)

视图.py

class RESTforCart(APIView):
    def post(self, request, *args, **kwargs):
        #print request.POST['product']
        product = Product.objects.get(id=request.POST['product'])
        cart = request.session['cart']
        cart.add_product(product)
        request.session['cart'] = cart
        lists=request.session['cart'].items 
        serializer = LineItemSerializer(lists,many=True)
        if serializer.is_valid():
            serializer.save() …
Run Code Online (Sandbox Code Playgroud)

python django django-rest-framework

6
推荐指数
2
解决办法
2156
查看次数

Google Places自动完成机场

我正在尝试使用Google的自动完成地点API为机场建立自动完成功能。我在这里的一个问题中找到了以下代码,但未返回任何结果: 在下拉菜单输入中设置Google地方信息的“类型”

<script type="text/javascript">
function initialize() 
{
  var input = document.getElementById('searchTextField');
  var options = {
      types: ['airport'],

  };

  autocomplete = new google.maps.places.Autocomplete(input, options);
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
<input id="searchTextField" type="text" size="50" placeholder="Search for an Airport!">
Run Code Online (Sandbox Code Playgroud)

谁能帮我?

javascript google-maps-api-3 google-places-api

5
推荐指数
1
解决办法
5851
查看次数

Django使用Django queryset获取所有后代子模型

我有带有自我参照的用户模型。现在,我需要为给定用户获取所有子代。

class MyUser(AbstractBaseUser, PermissionsMixin):
      .....
      parent = models.ForeignKey('self', blank=True, null=True, related_name ='children')
Run Code Online (Sandbox Code Playgroud)

用户A有子用户B

用户B有子用户C

用途C有子用户D

所以,如果我有给定的用户A,那么我想获得

用户B,C,D结果

如何使用Django查询做到这一点?

python django

5
推荐指数
2
解决办法
2187
查看次数

将 .db 文件读入 Python

我阅读了 sqlite3 模块(https://docs.python.org/2/library/sqlite3.html)的基础知识,它允许您连接到数据库中的 .db 文件,然后您可以执行正常的 SQL 命令,但是我想知道是否可以将.db文件读入列表、数组、甚至字典的列表中。本质上,我试图做与 unicodecsv 或 csv 模块相同的事情,但使用 .db 文件。

如果您想知道我为什么要尝试这样做:我将转换数据,并且使用数组一次计算整个列对我来说会更容易。如果您需要任何说明,请告诉我。

python sqlite

5
推荐指数
1
解决办法
4万
查看次数

react-datepicker没有初始值

我开始使用react-datepicker组件. https://github.com/Hacker0x01/react-datepicker

我让示例运行,现在我想调整它没有初始值.示例代码如下:

 <script type="text/javascript">
 var container = document.querySelector('#datepicker-container');
 var exampleComponent = React.createClass({
    displayName: 'exampleComponent',
    getInitialState: function() {
      return {
         start_date: moment(),
      };
    },
    handleStartDateChange: function(date) {
       this.setState({
          start_date: date
       });
    },
   render: function() {
      return React.DOM.div({}, [
         DatePicker({
         key: 'example1',
         selected: this.state.start_date,
         onChange: this.handleStartDateChange
      }),

      ]);
   }
})
React.renderComponent(exampleComponent(), container);
</script>
Run Code Online (Sandbox Code Playgroud)

我试图使用selected: none甚至遗漏selected,但后来我收到以下错误:

 TypeError: newProps.date is null
     value: newProps.date.format(this.props.dateFormat)
Run Code Online (Sandbox Code Playgroud)

我也查看了源代码,但没有发现任何以空日期开头的可能性.在此先感谢您的帮助!

datepicker reactjs

4
推荐指数
1
解决办法
6970
查看次数