小编Sid*_*ant的帖子

在网格中回溯

假设有一个1和0的2D网格,例如 -

0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
Run Code Online (Sandbox Code Playgroud)

网格被"折叠"以形成1个更少行和1个更少列的更小网格,因此上面的示例将"折叠"以形成3行3列的网格.

新值由以下规则确定 -

new_grid[i][j] is dependent on 
  i) old_grid[i][j], 
 ii) old_grid[i][j+1], 
iii) old_grid[i+1][j] 
 iv) old_grid[i+1][j+1]

If exactly one of the above values are 1, then new_grid[i][j] will be 1, else 0.
Run Code Online (Sandbox Code Playgroud)

因此,对于例如网格,出来的[0][0], [0][1], [1][0] and [1][1],只有[0][1]就是1,所以[0][0]在新的网格将是1.类似地,出[0][1], [0][2], [1][1] and [1][2],两者[0][1] and [1][2]1,所以[0][1]new_grid将0.

输入以new_grid …

python algorithm backtracking recursive-backtracking

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

Django 默认数据库

因此,正如我最近了解到的,default我们在 Django 字段中指定的 仅仅是为了填充预先存在的行,并且在数据库级别上不充当“真正的”默认值。column_default这可以通过从数据库 shell查找来验证。

如果我理解正确的话,defaultPostgres 使用它在没有输入时输入值。如果是这样,那么我们应该无法在不提供默认值的情况下在 Django 中创建新对象,对吧?

对于前-

class MyModel(models.Model):
    name = models.CharField(max_length=255)
    status = models.BooleanField(default=True) # new field added
Run Code Online (Sandbox Code Playgroud)

对于上述模型,default仅用于回填预先存在的行的新添加字段。它实际上并没有在数据库级别设置默认值。

 column_name | column_default                                     
-------------+----------------
 mymodel     | 
Run Code Online (Sandbox Code Playgroud)

但如果是这样,我不应该能够运行这个查询 -

MyModel.objects.create(name='test')
Run Code Online (Sandbox Code Playgroud)

因为没有“真正的”默认值。但我可以,但我不明白为什么。

谢谢你!

django postgresql django-1.9 postgresql-9.5

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

在SQLAlchemy中使用关系和ForeignKey模块

对于SQLAlchemy中的两个模块的使用,我有些困惑。这是我的代码:

Base = declarative_base()

class Restaurant(Base):
    __tablename__ = 'restaurant'
    id = Column(Integer, primary_key=True)
    name = Column(String(250), nullable=False)

class MenuItem(Base):
    __tablename__ = 'menu_item'
    name =Column(String(80), nullable = False)
    id = Column(Integer, primary_key = True)
    description = Column(String(250))
    price = Column(String(8))
    course = Column(String(250))
    restaurant_id = Column(Integer,ForeignKey('restaurant.id'))
    restaurant = relationship(Restaurant)
Run Code Online (Sandbox Code Playgroud)

我知道ForeignKey用于定义menu_item表的restaurant_id列与restaurant表的id列之间的外键关系。但是为什么要使用restaurant = Relationship(Restaurant)?

python sqlalchemy

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

通过 Django ORM 在 MySQL 中实现非二进制 LIKE

这是这个问题的后续内容。虽然我可以在原始 SQL 中编写非二进制 LIKE 查询,例如 - SELECT COUNT(*) FROM TABLE WHERE MID LIKE 'TEXT%',但我想知道是否可以通过 Django ORM 来实现。

和似乎startswithcontains在使用二进制模式搜索。

mysql django django-orm

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