Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6674805
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T03:46:27+00:00 2026-05-26T03:46:27+00:00

I have a class: from sys import stderr from elixir import * from types

  • 0

I have a class:

from sys import stderr
from elixir import *
from types import *

class User(Entity):
    using_options(tablename="users")
    first_name = Field(String(50))
    middle_name = Field(String(50))
    last_name = Field(String(50))

    def __get_name__ (self):
        first_name = self.first_name if self.first_name is not None else ""
        middle_name = self.middle_name if self.middle_name is not None else ""
        last_name = self.last_name if self.last_name is not None else ""
        return " ".join((first_name, middle_name, last_name)).strip()

    def __set_name__ (self,string):
        first_name = ""
        middle_name = ""
        last_name = ""
        split_string = string.split(' ')
        if len(split_string) == 1:
            first_name = string
        elif len(split_string) == 2:
            first_name, last_name = split_string
        elif len(split_string) == 3:
            first_name, middle_name, last_name = split_string
        else: #len(split_string) > 3:
            first_name = split_string[0]
            last_name = split_string[-1]
            middle_name = " ".join(split_string[1:-2])
        self.first_name = first_name
        self.middle_name = middle_name
        self.last_name = last_name

    name = property(__get_name__,__set_name__)

I’d like to run a query as follows:

def get_user(user):
    found = None
    if type(user) in [IntType,StringType]:
        if type(user) is StringType:
            where = or_(User.first_name==user,
                        User.middle_name==user,
                        User.last_name==user,
                        User.name==user)
            qry = User.query.filter(where)
        elif type(user) is IntType:
            where = or_(User.id==user,
                        User.employee_id==user)
            qry = User.query.filter(where)
        try:
            found = qry.one()
        except NoResultFound:
            print >> stderr, "Couldn't find '%s'" % user
    elif type(user) == User:
        found=user
    return found

However, the resultant SQL query looks something like the following:

SELECT users.first_name AS users_first_name, 
       users.middle_name AS users_middle_name, 
       users.last_name AS users_last_name
FROM users 
WHERE users.first_name = 'Joseph'
   OR users.middle_name = 'M'
   OR users.last_name = 'Schmoe'
   OR false

Notice the ‘false‘ in place of the User.name field.

I’m getting this error:

sqlalchemy.exc.OperationalError: (OperationalError) no such column: false 

I think what I’d like the SQL query to look like is the following:

SELECT users.name
FROM users 
WHERE users.name = 'Joseph M Schmoe'

Edit: The desired/second SQL query was incorrect for what I really wanted: some sort of passive way to create a ‘name’ field within the database which corresponds to a concatenate of ‘first_name’,’middle_name’,’last_name’.

Edit2: I believe that the following will get me almost there. However, I’m still struggling with the proper expression.

Edit3: Looks like it works for what I need it to do. So I’m including it as the answer.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T03:46:28+00:00Added an answer on May 26, 2026 at 3:46 am
    from sqlalchemy.ext.hybrid import hybrid_property
    
    @hybrid_property
    def name (self):
        first_name = self.first_name if self.first_name is not None else ""
        middle_name = self.middle_name if self.middle_name is not None else ""
        last_name = self.last_name if self.last_name is not None else ""
        return " ".join((first_name, middle_name, last_name)).strip()
    
    @name.setter
    def name (self,string):
        first_name = ""
        middle_name = ""
        last_name = ""
        split_string = string.split(' ')
        if len(split_string) == 1:
            first_name = string
        elif len(split_string) == 2:
            first_name, last_name = split_string
        elif len(split_string) == 3:
            first_name, middle_name, last_name = split_string
        else: #len(split_string) > 3:
            first_name = split_string[0]
            last_name = split_string[-1]
            middle_name = " ".join(split_string[1:-2])
        self.first_name = first_name
        self.middle_name = middle_name
        self.last_name = last_name
    

    The Expression part is here:

    @name.expression
    def name (cls):
        f = cls.first_name
        m = cls.middle_name
        l = cls.last_name
        return f+' '+m+' '+l
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have the following code: #!/usr/bin/env python import sys from PyQt4 import QtGui, QtCore
from sys import exit from random import randint class Map(object): def death(): print quips[randint
Consider the code below: #!/usr/bin/env python from PyQt4 import QtCore, QtGui import os,sys class
I have a class derived from CTreeCtrl . In OnCreate() I replace the default
I have a class derived from Dictionary. I need this class to simulate a
I have the following class (from a simple Spring tutorial) public class CarValidator implements
I have class A: public class ClassA<T> Class B derives from A: public class
I have a class which inherits from QTreeWidgetItem and I intercept the click event.
I have a class that inherits from ObservableCollection(Of MyObject) and the MyObject class handles
i have an application class inherited from QtGui.QDialog. I have to reload show-function but

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.