小编Ale*_*oVK的帖子

Django中由多个IntegerRangeField组成的选择字段

我正在尝试创建一个模型,其中一个字段应该是 Age 字段,但它不是一个简单的数字 ( IntegerField),而是需要是几个可用年龄范围的 Choice (5-8, 8-12, 12-18, 18-99, 5-99)。我正在查看 Choices 的文档,但我什至不确定我可以直接IntegerRangeField在其中使用 an ,所以我最终得到了这样的结果:

class Person(models.Model):
    FIRST_RANGE = IntegerRangeField(blank=True, validators=[MinValueValidator(5), MaxValueValidator(8)])
    SECOND_RANGE = IntegerRangeField(blank=True, validators=[MinValueValidator(8), MaxValueValidator(12)])
    THIRD_RANGE = IntegerRangeField(blank=True, validators=[MinValueValidator(12), MaxValueValidator(18)])
    FOURTH_RANGE = IntegerRangeField(blank=True, validators=[MinValueValidator(18), MaxValueValidator(99)])
    FIFTH_RANGE = IntegerRangeField(blank=True, validators=[MinValueValidator(18), MaxValueValidator(99)])

    AGE_CHOICES = (
        (FIRST_RANGE, '5-8'),
        (SECOND_RANGE, '8-12'),
        (THIRD_RANGE, '12-18'),
        (FOURTH_RANGE, '18-99'),
        (FIFTH_RANGE, '5-99'),
    )

    age = models.IntegerRangeField(blank=True, choices=AGE_CHOICES)
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?这对我来说看起来有点尴尬,我正在考虑只使用 Char 来代替,尽管我想坚持在最后在这个字段上有一个范围......

谢谢!

django postgresql

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

DRF 中嵌套序列化器缺少上下文

我遇到一个奇怪的问题,我的序列化器之一无法获取上下文,因此失败。

首先,在视图集上,我实现了一个列表方法,在该方法中,我根据一些依赖于模型中嵌套关系的条件来过滤订单。

class OrdersInAgendaViewSet(OrderMixin, viewsets.ReadOnlyModelViewSet):
    queryset = Order.objects.all()
    serializer_class = OrderInAgendaSerializer
    permission_classes = (
        CanManageOrder,
    )

    def list(self, request):
        final_orders = set()
        qs = super(OrdersInAgendaViewSet, self).get_queryset()
        # Get only orders that have lines with products that have no rentals objects
        for order in qs:
            accommodations = False
            lines = order.lines.all()
            for line in lines:
                if line.product.rental:
                    accommodations = True
                    break
            if not accommodations:
                final_orders.add(order.pk)
        qs = qs.filter(pk__in=final_orders)
        serializer = self.serializer_class(qs, many=True)
        return Response(serializer.data)
Run Code Online (Sandbox Code Playgroud)

现在这个 ViewSet 的主要序列化器

class OrderInAgendaSerializer(serializers.ModelSerializer):
    lines = …
Run Code Online (Sandbox Code Playgroud)

python django serialization django-rest-framework

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

杀死CPU的Jpanel实现

我遇到了一个实现JPanel的类的麻烦,它似乎会杀死我的CPU,即使应用程序处于空闲状态且没有后台线程或类似的东西.

这个类看起来像这样:

public class GradientPanel extends JPanel {

/**
 * Serial ID
 */
private static final long serialVersionUID = 1L;

/**
 * Starting color for the gradient
 */
private Color startColor;

/**
 * Ending color for the gradient
 */
private Color endColor;

/**
 * Border Color
 */
private Color borderColor;


@Override
/**
 * This is the method that actually paints the Panel 
 * 
 * @param   g   The graphics object used to do the rendering
 * 
 */
protected void paintComponent( Graphics …
Run Code Online (Sandbox Code Playgroud)

java swing cpu-usage jpanel

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

在JTable单元格中添加JLabel时的奇怪行为

我在这里遇到了一件奇怪的事情。我正在尝试在JTable单元内添加JLabel。标签图标可能会根据某些条件发生变化。我根据以下规范创建了一个虚拟项目:http : //javanepal.wordpress.com/2010/06/30/adding-jlabel-in-jtable/

而且效果很好。我将TableModel更改为从AbstractTableModel而不是DefaultTableModel扩展,现在添加一行时,如果检查Object [],则可以得到此信息:

[javax.swing.JLabel[,0,0,0x0,invalid,alignmentX=0.0,alignmentY=0.0,border=,
flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,
disabledIcon=,horizontalAlignment=LEADING,horizontalTextPosition=TRAILING,
iconTextGap=4,labelFor=,text=Row  1,Col1,verticalAlignment=CENTER,
verticalTextPosition=CENTER], whatever....]
Run Code Online (Sandbox Code Playgroud)

对于TableModel,代码是这样的:

public class MyModel extends javax.swing.table.AbstractTableModel {

    Object[][] row = {{new JLabel("Row 1 Col 1"), "Row 1 Col 2", "Row 1 Col3"},
        {new JLabel("Row 2 Col 1"), "Row 2 Col 2", "Row 2 Col3"},
        {new JLabel("Row 3 Col 1"), "Row 3 Col 2", "Row 3 Col3"},
        {new JLabel("Row 4 Col 1"), "Row 4 Col 2", "Row 4 Col3"}};
    Object[] col = {"Column 1", "Column 2", "Column 3"}; …
Run Code Online (Sandbox Code Playgroud)

java swing jtable jlabel

0
推荐指数
1
解决办法
1059
查看次数

无法在onCreateView中禁用DialogFragment的后退按钮

在创建自定义Progress DialogFragment时,我有点困惑.一切正常,但由于我不希望用户"撤回"直到DialogFragment被解除,我正在尝试捕获KeyEvent并"禁用".

虽然这很好用:

    @Override
public ProgressDialog onCreateDialog(Bundle savedInstanceState) {

    final ProgressDialog dialog = new ProgressDialog(getActivity());
    dialog.setMessage(getString(R.string.loading_text));
    dialog.setIndeterminate(true);
    dialog.setCancelable(false);

    // Disable the back button
    OnKeyListener keyListener = new OnKeyListener() {

        @Override
        public boolean onKey(DialogInterface dialog, int keyCode,
                KeyEvent event) {
            if( keyCode == KeyEvent.KEYCODE_BACK){  
                return true;
            }
            return false;
        }
    };
    dialog.setOnKeyListener(keyListener);
    return dialog;
}
Run Code Online (Sandbox Code Playgroud)

使用onCreateDialog不会让我正确地膨胀片段,因此,自定义我的片段的外观和感觉.另一方面,onCreateDialog完美地捕获了按键事件.切换到onCreateView时:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    //Inflate the XML view for the help dialog fragment
    View view = inflater.inflate(R.layout.progress_dialog_fragment, container);
    TextView …
Run Code Online (Sandbox Code Playgroud)

user-interface android android-dialogfragment

0
推荐指数
1
解决办法
5472
查看次数

烧瓶装饰器不能很好地协同工作

我正在尝试在测试Flask应用程序中使用蓝图,但我遇到了一个奇怪的问题.这是我的代码的相关部分:

from functools import wraps
from flask import flash, redirect, render_template, \
request, session, url_for, Blueprint
from sqlalchemy.exc import IntegrityError
from datetime import datetime
from time import localtime, strftime

from .forms import AddAppointmentForm
from project import db
from project.models import Appointment

appointments_blueprint = Blueprint('appointments', __name__)

def login_required(test):
    @wraps(test)
    def wrap(*args, **kwargs):
        if 'logged_in' in session:
            return test(*args, **kwargs)
        else:
            flash('You need to login first.')
            return redirect(url_for('users.login'))
        return wrap

@appointments_blueprint.route('/appointments/')
@login_required
def appointments():
    # Get current date
    current_datetime = strftime("%Y-%m-%d %H:%M:%S", …
Run Code Online (Sandbox Code Playgroud)

python decorator flask python-decorators

0
推荐指数
1
解决办法
970
查看次数