我想将mongodb添加为我的django项目中的第二个数据库。我使用djongo lib。
当我使用pytest运行测试时,在数据库创建期间,首先要对postgresql进行迁移,然后所有迁移都希望应用于mongo(但我由DATABASE_ROUTERS拒绝)。
如何拒绝将迁移应用于mongodb但允许postgres?
Creating test database for alias 'mongo' ('test_my_project')...
backend |
test setup failed
self = <djongo.cursor.Cursor object at 0x7faf305a0c10>
sql = 'INSERT INTO "django_migrations" ("app", "name", "applied") VALUES (%s, %s, %s)'
params = ['contenttypes', '0001_initial', datetime.datetime(2020, 7, 29, 15, 14, 35, 55164)]
pytest输出:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableColumn.CellEditEvent;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.layout.AnchorPane;
import javafx.stage.Stage;
public class Launcher extends Application
{
@Override
public void start(Stage stage) throws Exception
{
AnchorPane root = new AnchorPane();
TableView<Apprenant> table = new TableView<>();
table.setPrefWidth(800);
table.setEditable(true);
TableColumn<Apprenant, String> nom = new TableColumn<>("Noms");
nom.setPrefWidth(100);
TableColumn<Apprenant, String> prenom = new TableColumn<>("Prenoms");
prenom.setPrefWidth(100);
nom.setCellValueFactory(var -> var.getValue().nomProperty());
prenom.setCellValueFactory(var -> var.getValue().prenomProperty());
nom.setCellFactory(TextFieldTableCell.forTableColumn());
nom.setOnEditCommit((CellEditEvent<Apprenant, String> evt)->{
Apprenant app = table.getSelectionModel().getSelectedItem();
app.setNom(check(evt.getNewValue(),app.nomProperty().get()));
/*THE ONLY WAY TO DISPLAY THE UPDATED VALUE*/
//nom.setVisible(false);
//nom.setVisible(true);
});
table.getColumns().add(nom);
table.getColumns().add(prenom);
table.getItems().add(new Apprenant("monNom","monPrenom"));
root.getChildren().add(table);
Scene scene = new Scene(root,1200,800);
stage.setScene(scene);
stage.show();
}
private static String check(String valeur,String prev)
{
if(valeur.isEmpty())
{
return prev;
}
else
{
return valeur;
}
}
public static void main(String[] args)
{
launch(args);
}
}