Найти - Пользователи
Полная версия: SQLObject и уникальные столбцы
Начало » Базы данных » SQLObject и уникальные столбцы
1 2
Mkdir
pythonwin
Mkdir
SQLAlchemy
ты хорошо знаешь SQLAlchmy?
сможешь запостить на форум код аналогичный моему?
Смогу, но я еще особо не разбирался с поставленной задачей.
Просто когда я слышу слово SQLObject, то у меня срабатывает автоматическая реакция - SQLAlchemy =)
Пример постараюсь запостить, но не сейчас.
Mkdir
cleg
Mkdir
не знаю…
а чем алхимия лучше? мне SQLObject как новичку показался роднее…
Мне как новичку тоже по началу понравилось.
Но когда дело дошло до серьёзных задач со сложными связями, и выборками, то я понял что не все так приятно, как казалось.
Документация не полная, приходилось лезть в код. В код страшно смотреть, если честно.
Ian Bicking даже ответил письмом: “Чувак, я в курсе, что код там ужасен, но уже поздно” =)
bialix
Mkdir
Мне как новичку тоже по началу понравилось.
Но когда дело дошло до серьёзных задач со сложными связями, и выборками, то я понял что не все так приятно, как казалось.
Документация не полная, приходилось лезть в код. В код страшно смотреть, если честно.
Ian Bicking даже ответил письмом: “Чувак, я в курсе, что код там ужасен, но уже поздно” =)
Класс! Это надо записать себе в цитаты.
pythonwin
Mkdir
Документация не полная, приходилось лезть в код.
документации с http://sqlobject.org/SQLObject.html мне вполне хватает, но при этом часто смотрю код
Mkdir
В код страшно смотреть, если честно.
а что именно не понравилось в коде SQLObject?
мне не нравиться что внутри sqlobject часто используется
from имя_модуля import *
т:к. сложно и смотреть код и скорость хромает и разделения пространств имен почти нет, хотя это сильно упрощает разработку совсем новичку - написал
from sqlobject import *
и можешь работать почти со всеми функциями и классами из sqlobject, не задумываясь где и что находиться
Mkdir
Ian Bicking даже ответил письмом: “Чувак, я в курсе, что код там ужасен, но уже поздно”
а ты ему написал что его код ужасен? да ещё ночью? :)
OlDer
cleg
нужно реальзовать такую фичу.
берем имя и табельый номер, если такого табельного номера еще нет - то добавляем нового человека с таким номером и именем. если табельный номер в таблице имеется - то просто меняем имя на другое.
class Person(SQLObject):
name = UnicodeCol()
tabNo = StringCol(length=10, alternateID=True)

@staticmethod
InsertUpdate(tabNo, name):
try:
person = Person.byTabNo(tabNo)
person.name = name
except SQLObjectNotFound:
person = Person(name=name, tabNo=tabNo)
return person

В любом случае всегда получается два запроса к базе. Можно, конечно, сделать сначала update … where tabNo=?, проверить число обновленных записей, и если оно равно нулю, то сделать insert. Тогда в случае update будет всего один запрос. Но как делать это средствами SQLObject мне пока что не приходилось. Если кто-нибудь из присутствующих знает как это сделать - поделитесь, pls.
cleg
это можно было бы решить хранимкой на сервере, но как с хранимкой сделать ORM?
увы, по-моему никак…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB