小编daa*_*lgi的帖子

Django 模型 - 每个父引用的子表元素的自动增量 id

我正在尝试在 Django 中构建一个包含公司和项目的应用程序的数据库。每个公司可以有多个项目,每个项目只能属于一个公司。

class Company(models.Model):
    name = models.CharField(max_length=20)

class Project(models.Model):
    company = models.ForeignKey(Company, on_delete=models.CASCADE)
    project_id = models.PositiveIntegerField()
    name = models.CharField(max_length=20)
Run Code Online (Sandbox Code Playgroud)

我希望模型项目中有一个字段或属性,其作用类似于公司内项目的自动增量整数。行为应该如下所示:

c1 = Company(name="C1")
c2 = Company(name="C2")
px = Project(company=c1, name="X")
py = Project(company=c2, name="Y")
pz = Project(company=c1, name="Z")
px.project_id
1
py.project_id
1
pz.project_id
2
Run Code Online (Sandbox Code Playgroud)

正确的做法是什么?

django model auto-increment

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

Java JTabbedPane - 更改所选选项卡之前的操作

使用 JTabbedPane,我想捕捉新选项卡选择更改生效之前的瞬间并执行操作。它类似于摆动组件的焦点丢失事件。目的是在tab改变的时候将几个JTextField的文本保存到一个外部文件中,这样每次用户点击不同的tab时,当前tab的值都会写入到外部文件中。

我一直在使用 ChangeListener 来跟踪选项卡的更改,但还没有找到满足我需要的方法。在下一个简单示例中如何实现它的任何想法?

import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class TabSample {
    static void add(JTabbedPane tabbedPane, String label) {
        JButton button = new JButton(label);
        tabbedPane.addTab(label, button);
    }

    public static void main(String args[]) {
        JFrame frame = new JFrame("TabSample");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        JTabbedPane tabbedPane = new JTabbedPane();

        String titles[] = { "Geometry", "Materials", "Analysis"};
        for (int i = 0, n = titles.length; i < n; i++) {
            add(tabbedPane, titles[i]);
        }

        ChangeListener changeListener = new …
Run Code Online (Sandbox Code Playgroud)

java swing jtabbedpane changelistener

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